实现类似于select ... from ... where version in ('kgy30a', '7IQuq3IigP2')
这种功能。
需要重点注意的是,这里要用到的是terms,不是term
in
{
"query": {
"terms": {
"version": [
"2", "3"
]
}
}
}
对应的Java代码如下:
SearchRequestBuilder searchRequestBuilder =
client.prepareSearch(index).setTypes(type).setSearchType(SearchType.QUERY_THEN_FETCH);
// versionList即代表in后面的列表
searchRequestBuilder.setQuery(QueryBuilders.termsQuery("version", versionList));
这里不管什么版本的API都大差不差,找到termsQuery就可以了
not in
{
"query": {
"bool": {
"must_not": [
{
"terms": {
"version": [
"kgy30a",
"7IQuq3IigP2"
]
}
}
]
}
}
}
与上面相同,不过需要加上BoolQuery中的mustnot。