美文网首页
【ES从入门到实战】十六、全文检索-ElasticSearch-

【ES从入门到实战】十六、全文检索-ElasticSearch-

作者: runewbie | 来源:发表于2020-05-26 22:04 被阅读0次

    接第15节

    7)、term

    和 match 一样。匹配某个属性的值。全文检索字段用 match,其他非 text 字段匹配用 term

    Avoid using the term query for text fields.

    By default, Elasticsearch changes the values of text fields as part of analysis. This can make finding exact matches for text field values difficult.

    To search text field values, use the match query instead.

    非文本值使用 term 检索:

    GET /bank/_search
    {
      "query": {
        "term": {
          "age":28
        }
      }
    }
    
    在这里插入图片描述

    match 的 xxx.keyword,文本的精确匹配检索:

    GET /bank/_search
    {
      "query": {
        "match": {
          "address.keyword": "789 Madison"
        }
      }
    }
    
    在这里插入图片描述

    match 全文分词匹配:

    GET /bank/_search
    {
      "query": {
        "match": {
          "address": "789 Madison"
        }
      }
    }
    
    在这里插入图片描述

    match_phrase,将需要匹配的值当成一个整体单词(不分词)进行检索:

    GET /bank/_search
    {
      "query": {
        "match_phrase": {
          "address": "789 Madison"
        }
      }
    }
    
    在这里插入图片描述

    注意:如果对于文本值使用 term 检索时,并不会进行分词,而是精确检索,所以可能会匹配不到数据:

    GET /bank/_search
    {
      "query": {
        "term": {
          "address": "789 Madison"
        }
      }
    }
    
    在这里插入图片描述

    参考文档-query-dsl-term-query

    参考文档-query-dsl


    参考:

    Elasticsearch Reference

    elastic

    全文搜索引擎 Elasticsearch 入门教程

    相关文章

      网友评论

          本文标题:【ES从入门到实战】十六、全文检索-ElasticSearch-

          本文链接:https://www.haomeiwen.com/subject/wbebahtx.html