1.获取ES连接

package com.ciic.history.common;

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress; import java.net.InetAddress;
import java.net.UnknownHostException; public class DaoUtilL { private static TransportClient clientL = null; private DaoUtilL(){}; public static TransportClient getClientL() {
try {
if (null != clientL) {
return clientL;
}
Settings settings = Settings.settingsBuilder().put("cluster.name", "search1")
.put("transport.tcp.compress", true).build();
InetSocketTransportAddress address1 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.249"), 9300);
InetSocketTransportAddress address2 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.250"), 9300);
InetSocketTransportAddress address3 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.251"), 9300);
InetSocketTransportAddress address4 = new InetSocketTransportAddress(InetAddress.getByName("192.168.43.252"), 9300);
TransportAddress[] addressArr = {address1, address2, address3, address4};
clientL = TransportClient.builder().settings(settings).build().addTransportAddresses(addressArr);
return clientL;
} catch (Exception e) {
return null;
}
}
}

2.CURD操作

    @Override
public JsonEntity queryCustomerPreview(int page, int rows) {
TransportClient clientL = DaoUtilL.getClientL();
SearchRequestBuilder builder = clientL.prepareSearch();
builder.setIndices("esinner_limecustomerpreview_index").
setTypes("xian").
addSort("imscustomername", SortOrder.ASC).setFrom((page-1)*rows).setSize(rows); SearchResponse response = builder.get();
SearchHit[] searchHits = response.getHits().getHits();
ArrayList arrayList = new ArrayList();
for(int i = 0; i < searchHits.length; i++) {
arrayList.add(searchHits[i].getSource());
}
//查询总记录数total
SearchResponse totalResponse = clientL.prepareSearch()
.setIndices("esinner_limecustomerpreview_index")
.setSearchType(SearchType.COUNT).setSize(0).get();
long length = response.getHits().totalHits(); JsonEntity entity = new JsonEntity();
entity.setTotal(length);
entity.setRows(arrayList);
return entity;
}

-- -- -- -- -- --

    @Override
public JsonEntity customerPreviewSearch(EsinnerLimeCustomerPreviewIndex customerPreview, int page, int rows) {
TransportClient clientL = DaoUtilL.getClientL();
SearchRequestBuilder searchRequestBuilder = clientL.prepareSearch();
searchRequestBuilder.setIndices("esinner_limecustomerpreview_index").
setTypes("xian").setSearchType(SearchType.DEFAULT).
setFrom((page-1)*rows).setSize(rows); BoolQueryBuilder builder = QueryBuilders.boolQuery(); boolean flag=true;
if(StringUtils.isNotBlank(customerPreview.getImscustomername())){
flag=false;
builder.must(QueryBuilders.termQuery("imscustomername",customerPreview.getImscustomername()));
}
if(StringUtils.isNotBlank(customerPreview.getImscustomercode())){
flag=false;
builder.must(QueryBuilders.matchQuery("imscustomercode",customerPreview.getImscustomercode()));
}
if(flag==true){
searchRequestBuilder.addSort("imscustomercode", SortOrder.ASC);
}
searchRequestBuilder.setQuery(builder); SearchResponse response = searchRequestBuilder.get();
SearchHit[] searchHits = response.getHits().getHits();
ArrayList arrayList = new ArrayList();
for(int i = 0; i < searchHits.length; i++) {
arrayList.add(searchHits[i].getSource());
} SearchResponse totalResponse = clientL.prepareSearch()
.setIndices("esinner_limecustomerpreview_index")
.setSearchType(SearchType.COUNT).setSize(0).get();
long length = response.getHits().totalHits();
JsonEntity entity = new JsonEntity(); entity.setTotal(length);
entity.setRows(arrayList); return entity;
}

-- -- -- -- -- --

3.返回数据

啦啦啦

最新文章

  1. 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解
  2. [python学习] 介绍python的property,以及为什么要用setter,一个小栗子
  3. py2exe 打包scipy时遇到的问题
  4. July 2nd, Week 27th Saturday, 2016
  5. (spring-第18回【AOP基础篇】) 创建切面
  6. AHS日志收集的三种方法
  7. 优化win2d实现的萤火虫粒子效果
  8. mysql学习书籍推荐
  9. 小白日记14:kali渗透测试--NMAP
  10. js之script属性async与defer
  11. 源文件名和public 类名
  12. poj 3154 Graveyard 贪心
  13. squid+apache实现缓存加速
  14. Android之圆点导航的两个案例(ViewPager)
  15. TensorFlow 图片resize方法
  16. CodeForces 518E Arthur and Questions(贪心 + 思维)题解
  17. 基于TCAM 的高速路由查找
  18. idea 设置注释
  19. Linux:条件变量
  20. 让你分分钟了解Web接口测试

热门文章

  1. 轻松学C#----第一篇笔记
  2. IE6的3像素bug
  3. NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
  4. CentOS7 下 keepalived 的安装和配置
  5. 未解决:长字符串含&hellip;
  6. 关于tomcat session机制梳理
  7. ROS actionlib学习(一)
  8. grep与孪生兄弟egrep差异
  9. CAP Twelve Years Later: How the &quot;Rules&quot; Have Changed
  10. JAVA之Lamdba表达式使用摘要