/**
* 求并集
* {
"query" : {
"bool" : {
"should" : {
"terms" : {
"categoryIds" : [ 206 ]
}
}
}
},
"post_filter" : {
"bool" : {
"should" : {
"terms" : {
"artId" : [ [ 1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 ] ]
}
}
}
}
}
*/
public void searchsQueryAndFilter3() {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder query = QueryBuilders.boolQuery();
query.should(QueryBuilders.inQuery("categoryIds", Lists.newArrayList(206)));
BoolFilterBuilder fileter =FilterBuilders.boolFilter();
fileter.should(FilterBuilders.inFilter("artId", Lists.newArrayList(1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 )));
searchSourceBuilder.postFilter(fileter);
searchSourceBuilder.query(query);
System.out.println(searchSourceBuilder);
}
/**
* 没权重 should
* {
"post_filter" : {
"bool" : {
"should" : [ {
"terms" : {
"artId" : [ [ 1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 ] ]
}
}, {
"query" : {
"bool" : {
"should" : {
"terms" : {
"categoryIds" : [ 206 ]
}
}
}
}
} ]
}
}
}
*/
public void searchsQueryAndFilter2() {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder query = QueryBuilders.boolQuery();
query.should(QueryBuilders.inQuery("categoryIds", Lists.newArrayList(206)));
BoolFilterBuilder fileter =FilterBuilders.boolFilter();
fileter.should(FilterBuilders.inFilter("artId", Lists.newArrayList(1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 )));
fileter.should(FilterBuilders.queryFilter(query));
searchSourceBuilder.postFilter(fileter);
System.out.println(searchSourceBuilder);
}
/**
* 有权重 should
* {
"query" : {
"bool" : {
"should" : [ {
"terms" : {
"categoryIds" : [ 206 ]
}
}, {
"filtered" : {
"query" : {
"bool" : {
"must" : {
"match_all" : { }
}
}
},
"filter" : {
"bool" : {
"should" : {
"terms" : {
"artId" : [ [ 1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 ] ]
}
}
}
}
}
} ]
}
}
}
*/
public void searchsQueryAndFilter1() {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder query = QueryBuilders.boolQuery();
query.should(QueryBuilders.inQuery("categoryIds", Lists.newArrayList(206)));
BoolQueryBuilder query2 = QueryBuilders.boolQuery();
query2.must(QueryBuilders.matchAllQuery());
BoolFilterBuilder fileter =FilterBuilders.boolFilter();
fileter.should(FilterBuilders.inFilter("artId", Lists.newArrayList(1425299, 651912, 1448123, 1438725, 654688, 655630, 654236, 656040, 656052, 656048, 654228, 654690, 654230, 656032, 1442433, 1440971, 1441981, 1439693, 1423263 )));
query.should(QueryBuilders.filteredQuery(query2, fileter));
searchSourceBuilder.query(query);
System.out.println(searchSourceBuilder);
}