对于bool查询,我可以得到以下结果:
POST _search
{
"query": {
"bool": {
"must": [
{ "match": { "city": "LA" }},
{ "match": { "employee_id" : 123}}
]
}
}
}
如何为"employee_id" : [123, 234, 345]
传递一份employee_id列表,例如{ "match": { "city": "LA" }
。 ?基本上我想检索123, 234, 345
city = 'LA'
的文档
答案 0 :(得分:1)
您可以使用term过滤条件查找单个完全匹配条款,并使用terms查找与条款列表中至少 n 匹配的文档。
如果您不需要文档排名(在完成完全匹配项时您不会这样做,因为文档的评分都相同),请使用filtered queries来提高查询效果。
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"city": "LA"
}
},
{
"terms": {
"employee_id": [ 123, 456, 789 ]
}
}
]
}
}
}
}
}