在Elasticsearch中是否可以在单个查询中获取所有包含短语1或短语2的文档?我知道要匹配一个短语,可以使用以下查询:
"query" : { "match_phrase" : { "title" : "rock climbing" } }
但是,如果有多个词组并且目标是检索包含这些词组之一的文档,情况如何?
您可以将两个match_phrase查询包装在布尔查询的should子句中:
match_phrase
should
{ "query" : { "bool": { "should": [ { "match_phrase" : { "title" : "phrase1" } }, { "match_phrase": { "title": "phrase2" } } ], "minimum_number_should_match": 1 } } }