冰灯

云水禅心

  • 首页
  • 归档

  • 搜索
mybatis Dubbo Git Https ELK Elasticsearch logstash Springboot Nginx Java MQ

elasticsearch之java api

发表于 2018-09-22 | 分类于 ELK | 0 | 阅读次数 260

1、初始化一个 RestHighLevelClien

  RestHighLevelClient client = new RestHighLevelClient(
 RestClient.builder(
 new HttpHost("localhost", 9200, "http"),
 new HttpHost(\"localhost\", 9201, \"http\")));

这里可以一次创建多个es的连接

2、查询

(1)get api

 //创建查询请求
  GetRequest getRequest = new GetRequest(_index,_type,_id);
 //发起请求
 GetResponse getResponse = client.get(getRequest);
 //请求结果,是否存在,存在就获取
 if(getResponse.isExists()){
     getResponse.getSourceAsString();
 }

(2)search api

 //创建SearchSourceBuilder,设置请求体参数
 SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
 //设置分页
 if(offset !=null && limit != null){
 sourceBuilder.from(offset);
 sourceBuilder.size(limit);
 }
 //设置多条件
 BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
 //这是and连接查询
 queryBuilder.must(QueryBuilders.matchPhraseQuery("name","bd"));
 queryBuilder .must(QueryBuilders.matchPhraseQuery("age","19"));
 //范围查询,jdk8语法:LocalDateTime
 queryBuilder .must(QueryBuilders.rangeQuery("createtime").from(LocalDateTime.parse (startDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).includeLower(true));
 queryBuilder .must(QueryBuilders.rangeQuery("createtime").to(LocalDateTime.parse (endDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).includeUpper(true));
 sourceBuilder.query(queryBuilder);
 //设置查询超时时间
 sourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));
 //创建请求
 //设置_index
 SearchRequest searchRequest = new SearchRequest(index);
 //设置_type
 if(!StringUtils.isEmpty(type)){
 searchRequest.types(type);
 }
 //设置请求体参数
 searchRequest.source(sourceBuilder);
 //发送请求
 SearchResponse searchResponse = client.search(searchRequest);\
 SearchHits hits = searchResponse.getHits();
 //获取总记录数
 int totalHits = (int)hits.getTotalHits();
 //获取内容
 hit.getSourceAsString();

(3)还有更多API,请参考

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html

# mybatis # Dubbo # Git # Https # ELK # Elasticsearch # logstash # Springboot # Nginx # Java # MQ
Elk的安装及简单使用
springboot 全局异常处理
冰灯

冰灯

雁过无痕,敲出人生

23 日志
9 分类
11 标签
RSS
Github StackOverflow
Creative Commons
Links
  • 点滴记录
  • Zero
© 2021 冰灯