ElasticSearch数组多个值匹配

比如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  
                        }  
                    }  
                }  
            ]  
        }  
    }  
}