ElasticSearch查询中同一字段的多个术语筛选器



我正在尝试将全文搜索筛选到同时具有tag.id = 3 AND tag.id = 9的所有文档。

到目前为止,我有这样的方法:

{
"query": {
"bool": {
"filter": [
{
"bool": {
"must": [
{
"term": {
"tags.id": "3"
}
},
{
"term": {
"tags.id": "9"
}
}
]
}
}
]
}
}
}

这似乎和这个一样:

{
"query": {
"bool": {
"filter": [
{
"term": {
"tags.id": "3"
}
},
{
"term": {
"tags.id": "9"
}
}
]
}
}
}

两种选择之间有什么区别吗?

Tldr

由于两者的工作原理相同,唯一的区别是表达式的复杂性。

为了简单起见,我建议使用后一个。

最新更新