我正在使用Elastic search 6.2.3
。我们正在query_string
搜索中使用full-text-query
full-text
。目前,如果我们搜索lazy brown fox
,它将搜索具有所有这些词lazy
,brown
和fox
的任何文件,但不会查找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
获得准确的词组匹配结果?
答案 0 :(得分:1)
与其查看匹配短语查询以在多个字段上运行短语查询,不如看看multi_match,它确实支持短语类型查询
POST phrase_index/_search
{
"query": {
"multi_match": {
"query": "this is where it should work",
"fields": [],
"type": "phrase"
}
}
}