0

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

1.) {名称:“alpha beta”}

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

如果查询字符串是 -

1.) "alpha beats beta"

2.) "alpha beats gammma"

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

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

4

1 回答 1

0

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

{
"query": {
 "bool": {
      "should" : [          

           {"match_phrase" : { "name": "alpha"}},
           {"match_phrase" : { "name": "beta"}}
      ],
"minimum_should_match" : 2
 }
},
size:50
}

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

于 2016-08-02T04:36:27.737 回答