//查询所有
//match_all
@Test
public void test9() 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));
QueryBuilder qb = QueryBuilders.matchAllQuery();
SearchResponse sr = client.prepareSearch("lib3")
.setQuery(qb)
.setSize(3)
.get();
SearchHits hits = sr.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
Map<String, Object> map = hit.getSourceAsMap();
for (String key : map.keySet()){
System.out.println(key +"= " +map.get(key));
}
}
}
//match查询指定一个字段
@Test
public void test10() 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));
MatchQueryBuilder builder = QueryBuilders.matchQuery("interests", "duanlian");
SearchResponse response = client.prepareSearch("lib3")
.setQuery(builder)
.setSize(3)
.get();
SearchHits hits = response.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
Map<String, Object> map = hit.getSourceAsMap();
for (String key : map.keySet()){
System.out.println(key +" = " +map.get(key));
}
}
}
//multiMatch查询指定多个字段
@Test
public void test11() 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));
MultiMatchQueryBuilder builder = QueryBuilders.multiMatchQuery("duanlian", "address", "interests");
SearchResponse response = client.prepareSearch("lib3")
.setQuery(builder)
.setSize(3)
.get();
SearchHits hits = response.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
Map<String, Object> map = hit.getSourceAsMap();
for (String key : map.keySet()){
System.out.println(key +" = " +map.get(key));
}
}
}
//term查询
@Test
public void test12() 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));
TermQueryBuilder builder = QueryBuilders.termQuery("interests", "duanlian");
SearchResponse response = client.prepareSearch("lib3")
.setQuery(builder)
.setSize(2)
.get();
SearchHits hits = response.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
}
}
//terms查询
@Test
public void test13() 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));
TermsQueryBuilder builder = QueryBuilders.termsQuery("interests", "duanlian","hejiu");
SearchResponse response = client.prepareSearch("lib3")
.setQuery(builder)
.setSize(2)
.get();
SearchHits hits = response.getHits();
for (SearchHit hit : hits){
System.out.println(hit.getSourceAsString());
}
}
ElasticSearch学习(九)在Java应用中实现match查询和multimath查询,term查询和terms查询
猜你喜欢
转载自blog.csdn.net/qq_41851454/article/details/81389453
今日推荐
周排行