java使用elasticsearch进行多个条件模糊查询
文章说明:
1、本篇文章,本人会从java连接elasticsearch到查询结果生成并映射到具体实体类(涵盖分页功能)
2、代码背景:elasticsearch版本为:5.2.0;
3、本人以下代码是分别从两个索引中查询数据,再将两个数据进行整合,如果大家只需要分组查询,那么则选取文章中的分组查询部分代码
4、本人的实体类主要是按照layUI分页框架进行设计;实体大家可以根据自己的具体需求进行设计
一、java连接elasticsearch工具类
public classESClientConnectionUtil {public static TransportClient client=null;public final static String HOST = "192.168.200.200"; //服务器部署ip 根据自己ip进行更改
public final static Integer PORT = 9301; //端口
public staticTransportClient getESClient(){
System.setProperty("es.set.netty.runtime.available.processors", "false");if (client == null) {synchronized (ESClientConnectionUtil.class) {try{//设置集群名称
Settings settings = Settings.builder().put("cluster.name", "es5").put("client.transport.sniff", true).build();//创建client
client = new PreBuiltTransportClient(settings).addTransportAddress(newInetSocketTransportAddress(InetAddress.getByName(HOST), PORT));
}catch(Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
}
}
}returnclient;
}public staticTransportClient getESClientConnection(){if (client == null) {
System.setProperty("es.set.netty.runtime.available.processors", "false");try{//设置集群名称
Settings settings = Settings.builder().put("cluster.name", "es5").put("client.transport.sniff", true).build();//创建client
client = new PreBuiltTransportClient(settings).addTransportAddress(newInetSocketTransportA