elasticsearch学习(二)

常用查询语句

  • 全部匹配match_all

    • 方式一

      GET /website/_search
      
    • GET /website/_search
      {
        "query":{
          "match_all": {    
          }
        }
      }
      
  • 模糊查询match

    • 或查询

      GET /website/_search
      {
        "query":{
          "match": {
            "text":{
              "query":"Just blog",
              "operator": "or"
            }
          }
        }
      }
      
      GET /website/_search
      {
        "query":{
          "match": {
            "text":"Just blog"
          }
        }
      }
      
    • 与查询

      --- Just和blog都存在才匹配
      GET /website/_search
      {
        "query":{
          "match": {
            "text":{
              "query":"Just blog",
              "operator": "or"
            }
          }
        }
      }
      
    • 匹配精度

      ---50% 即三个词中有一个匹配即可
      GET /website/_search
      {
        "query":{
          "match": {
            "text":{
              "query":"Just blo1g 1out",
              "minimum_should_match": "50%"
            }
          }
        }
      }
      
  • term查询(查询内容不会被分词)

    • 示例

      image-20211010154630348

      与match的区别

      image-20211010154718391

  • match_phrase

    • 特点:会对查询内容进行分词,且要求待查询字段之中的所有term都必须和match_phase具有相同的顺序
    • 示例
      image-20211010162417040
      image-20211010162455870
  • query_string

    • 特点:与match_phrase类似,只不过不会要求顺序
    • 示例
      image-20211010173842330
  • 排序

    • 示例

      GET /website/_search
      {
        "query": {
          "query_string": {
            "fields": [
              "title"
            ],
            "query": "first blog"
          }
        },
        "sort": [
          {
            "date": {
              "order": "desc"
            }
          }
        ]
      }
      

    image-20211010175749715

  • 分页

    • 示例

      GET /website/_search
      {
        "query": {
          "query_string": {
            "fields": [
              "title"
            ],
            "query": "first blog"
          }
        },
        "sort": [
          {
            "date": {
              "order": "desc"
            }
          }
        ],
        "from": 0,
        "size": 2
      }
      

    image-20211010180005647

  • 显示指定字段

    • 示例

      GET /website/_search
      {
        "query": {
          "query_string": {
            "fields": [
              "title"
            ],
            "query": "first blog"
          }
        },
        "_source": [
          "text",
          "title"
          ]
      }
      

      image-20211010180242691

  • 高亮

    • 示例

      GET /website/_search
      {
        "query": {
          "query_string": {
            "fields": [
              "title"
            ],
            "query": "first blog"
          }
        },
        "highlight": {"fields": {"title": {}}}
      }
      

      image-20211010180500842

    其他的用到的时候再补充.....

Q.E.D.


一个热爱生活的95后精神小伙