我尝试根据数组字段是否至少包含另一个集合中的一个元素来筛选结果。
我有一个包含字符串数组的字段,例如:
_source: {
...
keywords: [
"Data Science",
"Chemistry",
"Biology",
"Computer Science",
"Economics"
]
}
我想过滤结果,使关键字至少包含一个值列表,例如:
> ["History","Biology"] # would return the above document
> ["History","Geography"] # would not
它包含多少并不重要,只是它至少匹配其中一个。
我尝试了术语查询,但没有给我任何结果
1条答案
按热度按时间olqngx591#
默认情况下,terms查询是or查询,因此以下内容将匹配
如果你的情况
such that keywords contain at least one
就是要满足。现在,如果要求使用and查询(如果还有一个不匹配,则返回null),则可以使用bool must查询
根据您可能需要附加的Map
.keyword
到相关领域。