比如ES里有一个字段是的值为:
"tags": [1, 2, 3, 4, 5]
希望搜索 [2, 3, 4] 得到这条数据,tags 里必须有 2, 3, 4 这几个值,使用 termsQuery 似乎是包含一个值就能搜索出来。可以使用多个 term query 搜索,每个条件一个值,就可以得到想要的效果了,例如下面的搜索:
{
"from": 0,
"size": 30,
"timeout": "2000ms",
"query": {
"bool": {
"must": [
{
"term": {
"bizz_tag_s": {
"value": 5
}
}
},
{
"term": {
"bizz_tag_s": {
"value": 9
}
}
},
{
"term": {
"bizz_tag_s": {
"value": 3
}
}
}
]
}
}
}