我有一些客户文档,我想使用 ElasticSearch 根据客户的来源(国家字段在一系列国家/地区中)进行检索。
[
{
"name": "A1",
"address": {
"street": "1 Downing Street"
"country": {
"code": "GB",
"name": "United Kingdom"
}
}
},
{
"name": "A2",
"address": {
"street": "25 Gormut Street"
"country": {
"code": "FR",
"name": "France"
}
}
},
{
"name": "A3",
"address": {
"street": "Bonjour Street"
"country": {
"code": "FR",
"name": "France"
}
}
}
]
现在,我的 Python 代码中有另一个数组:
["DE", "FR", "IT"]
我想获得 A2 和 A3 这两个文件。
我将如何在 PyES/Query DSL 中编写这个?我应该为此使用 ExistsFilter 还是 TermQuery。ExistsFilter 似乎只检查字段是否存在,而不关心值。