如何使用elasticseach和查询字符串进行高级搜索

时间:2018-10-09 09:16:06

标签: elasticsearch query-string

我正在使用elasticsearch及其查询字符串功能创建高级搜索。

所以我对高级查询有一些疑问。.我读了query string document,但找不到任何答案,

当我在一个查询字符串中搜索普通查询和精确查询时。sales AND "industrial machinery"的结果与将两个查询字符串放入must数组的另一个查询不同...

让我展示一个例子:

"query": {
  "bool":{
    "must":[
      {
         "query_string":{
           "query": "sales* AND \"industrial machinery\"",
           "type": "best_fields",
           "fields":["title", "description"]
        }
      }
    ]
  }
}

结果计数:56

"query":{
  "bool":{
    "must":[
      {
         "query_string":{
           "query": "sales*",
           "type": "best_fields",
           "fields":["title", "description"]
       },
       {
          "query_string":{
           "query": "\"industrial machinery\"",
           "type": "best_fields",
           "fields":["title", "description"]
       }
    ]
  }
}

结果数:113

我知道第二个查询的结果是正确的,但是我不知道为什么弹性在这两个查询之间产生了差异。

如何在第一次查询中得到相同的结果?使用第一个查询进行搜索时,我希望获得113个文档。

感谢您的帮助

0 个答案:

没有答案