弹性搜索:query_string查询与全文搜索中的确切短语不匹配

时间:2019-03-12 11:57:01

标签: elasticsearch

我正在使用Elastic search 6.2.3。我们正在query_string搜索中使用full-text-query full-text。目前,如果我们搜索lazy brown fox,它将搜索具有所有这些词lazybrownfox的任何文件,但不会查找exact-phrase'lazy棕色狐狸”,甚至默认的slop也是zero

这里是一个示例:

{
  "query": {
    "query_string": {
      "fields": [],
      "query": "lazy AND brown AND fox"
    }
  }
}  

我看过match-phrase-query,但问题是我们必须在field name(s)中指定match-phrase-query,而在string-query中,它在使用空白数组字段选项。

请提出建议,如何使用query_string full text-query获得准确的词组匹配结果?

1 个答案:

答案 0 :(得分:1)

与其查看匹配短语查询以在多个字段上运行短语查询,不如看看multi_match,它确实支持短语类型查询

POST phrase_index/_search
{
  "query": {
    "multi_match": {
      "query": "this is where it should work",
      "fields": [],
      "type": "phrase"
    }
  }
}