//组合查询
@Test
public void test28() throws Exception {
//指定ES集群
Settings settings = Settings.builder().put("cluster.name", "my-application").build();
//创建访问ES服务器的客户端
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.123.101"),9300));
//使用bool实现组合查询
BoolQueryBuilder builder = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("interests", "duanlian"))
.mustNot(QueryBuilders.matchQuery("name", "wangwu"))
.should(QueryBuilders.matchQuery("address", "bei jing"))
.filter(QueryBuilders.rangeQuery("birthday").gte("1990-01-01").format("yyyy-MM-dd"));
SearchResponse response = client.prepareSearch("lib3")
.setQuery(builder)
.get();
SearchHits hits = response.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
}
}
//组合查询
@Test
public void test29() throws Exception {
//指定ES集群
Settings settings = Settings.builder().put("cluster.name", "my-app
ElasticSearch学习(十二)在Java应用中实现组合查询、实现桶聚合
最新推荐文章于 2024-03-12 22:06:30 发布