这就是我要做的。您需要通过
bool/filter(或
bool/must)两个嵌套查询对每个条件对进行AND
运算,因为您要匹配同一父文档中的两个不同的嵌套元素。
{ "query": { "bool": { "filter": [ { "nested": { "path": "metadata.profile", "query": { "bool": { "filter": [ { "term": {"metadata.profile.f1": "a" } }, { "term": {"metadata.profile.f2": true } } ] } } } }, { "nested": { "path": "metadata.profile", "query": { "bool": { "filter": [ { "term": {"metadata.profile.f1": "b" } }, { "term": {"metadata.profile.f2": false } } ] } } } } ] } }}


