如何在弹性搜索中使用必须或条件中的多个匹配短语?
GET questiondetails/question/_search
{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"tags.keyword": "azure-data"
}
},
{
"match_phrase": {
"body": "azure-data"
}
},
{
"match_phrase": {
"title": "azure-data"
}
},
{
"match_phrase": {
"answers.body": "azure-data"
}
}
],
"minimum_should_match": 1,
"filter": {
"range": {
"creation_date": {
"gte": 1584748800,
"lte": 1585612800
}
}
}
}
},
"size": "10000"
}
尝试了这个查询....我需要单词在标签中完全匹配或在正文或标题或 answer.body 上部分匹配的结果
但它不起作用。
添加评论
获取 questiondetails_new/question/_search? {“查询”:{“布尔”:{“应该”:[{“match_phrase”:{“tags.keyword”:“azure-data-factory”}},{“match_phrase”:{“title”:“azure -data-factory" } } ], "minimum_should_match": 1, "filter": { "range": { "creation_date": { "gte": 1585170170, "lte": 1585170180 } } }
在此查询中,我需要与 azure-data-factory 完全匹配或在其标题(字符串)中具有 azure-data-factory 的所有文档。它应该是一个或搜索。但它也与值为 azure-data-factory-2 的标签匹配