给出以下文档架构
{
"type": ["A", "B"]
}
其中field type 是 keyword 类型的索引字段。
我想查找 type 字段的所有值应与某些谓词 p 匹配的文档。
基本上我需要检查 type 字段中的所有值是否都存在于另一个数组中。例如。对于[“A”,“B”,“C] doc匹配,对于[”A“,”D“]不。
答案 0 :(得分:0)
您可以使用scripts
来解决此问题。这里的想法是检查doc
中是否存在input_array
的所有元素。请参阅:subsets-discussion
在版本 6.3 中,通过terms_set
查询对此进行了本机支持。参考:
terms-set-query-dsl