【问题标题】:Match partial query string with complete document in elaticsearch index将部分查询字符串与弹性搜索索引中的完整文档匹配
【发布时间】:2016-08-02 12:36:27
【问题描述】:

我需要搜索添加到 elasticsearch 索引中的小文本长度的文档,并且仅当搜索查询与我的任何文档文本完全匹配时才希望获得搜索结果。 例如。 让这两个文档添加到索引中。

1.) { 名称:“阿尔法贝塔” }

2.) { 名称:“伽玛增量” }

如果查询字符串是 -

1.) "alpha beats beta"

2.) "alpha beats gammma"

比第一个查询应该返回第一个文档,因为文档的所有标记都匹配。但是第二个查询不应该返回任何文档,因为不存在所有标记都存在于查询字符串中的文档。

注意:只有当文档中的所有文本标记都存在于查询字符串中时,才应返回结果。

【问题讨论】:

    标签: elasticsearch elasticsearch-2.0


    【解决方案1】:

    您可以按空格标记术语并编写如下查询。

    {
    "query": {
     "bool": {
          "should" : [          
    
               {"match_phrase" : { "name": "alpha"}},
               {"match_phrase" : { "name": "beta"}}
          ],
    "minimum_should_match" : 2
     }
    },
    size:50
    }
    

    这里 "minimum_should_match" : n 是关键,其中 n 是术语数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2018-08-05
      • 2020-11-09
      • 2021-06-28
      • 2014-06-02
      相关资源
      最近更新 更多