我匹配多个单词的查询如下,
{"query":
{"bool":{"must":[{"terms":{"my_field":"word1 word2"}}]}
执行后,尽管以下查询存在数据,但结果集为空。 如果我使用
而不是上面的查询{"bool":{"must":[{"terms":{"my_field":"word1"}}]}
然后elastic-search正在返回数据。 如何搭配完整的句子?
我相信你应该简单地在必须查询数组中使用两个term查询。
{
"query":
{ "bool" :
{
"must":[
{"term":{"my_field": "word1" } },
{"term":{"my_field": "word2" } }
]
}
}
}
你可以尝试将单词放入数组中,看看是否有效。 像这样: {“查询”:{“布尔”:{“必须”:[{“术语”:{“my_field”:[“word1”,“word2”]}}]}
这里是文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/_finding_multiple_exact_values.html
希望它有效=)