我有几个“应该”条款的查询:
{
"query": {
"filtered": {
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "<condition1>"
}
},
{
"query_string": {
"query": "<condition1>"
}
}
]
}
},
}
},
"size": 1000,
"sort": [
{
"@timestamp": {
"order": "asc"
}
}
]
}
如何找出condition1生成的查询结果,以及condition2生成的查询结果?是否可以为不同条件注入具有不同值的字段,或以任何其他方式区分命中?
答案 0 :(得分:1)
您可以使用named queries来实现此目标。
{
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "<condition1>",
"_name": "sub_query_1"
}
},
{
"query_string": {
"query": "<condition1>",
"_name": "sub_query_2"
}
}
]
}
}
}
您的结果将包含一个matched_filters
数组,其中包含sub_query_1
,sub_query_2
或两者。
<强>更新强>