我的部分Elasticsearch查询如下:
“ match_phrase”:{ “ taskId.keyword”:{ “查询”:“” }
我在js程序中动态设置taskId。但是这种结构允许我将其设置为单个id,因此调用仅获取单个记录。
我的程序中可以有多个任务ID。所以我想获取任务ID数组的记录。
如何构造查询呢?
我能这样吗?
“ match_phrase”:{“ taskId.keyword”:{“ query”:[] }
然后动态设置数组:
.... match_phrase ['taskId.keyword'] =动态计算的任务ID数组
答案 0 :(得分:0)
您可以使用terms query来匹配多个taskId。 使用如下查询:
{
"query":{
"terms":{
"taskId.keyword":["taskId1", "taskId2", "taskId3"]
}
}
}
您可以在应用程序代码中将["taskId1", "taskId2", "taskId3"]
替换为动态创建的taskId数组。