zoukankan      html  css  js  c++  java
  • elasticsearch java api 使用elasticsearch 6.x.x版本,客户端使用5.6.10版本

    es的添加数据方法中 索引index字段不允许为大写字符串,必须全部为小写字符串

    public void bulkCreatIndex(){

    TransportClient client = es.getClient();

    int i = 1;

    // bulk单次批操作量
    final int BatchSize = 10000;
    BulkRequestBuilder bulkRequest = client.prepareBulk();
    // 遍历JSONArray,数据量庞大时,for循环比foreach循环效率更高一些
    for (i = 1; i <= jsonArray.size(); i++) {
    // setSource为上传的文本文档
    bulkRequest.add(client.prepareIndex(index.toLowerCase(), type).setSource(jsonArray.getJSONObject(i-1).toString()));
    // 每10000条数据执行一次bulk批量操作
    if (0 == i % BatchSize) {
    bulkRequest.execute().actionGet();
    bulkRequest = client.prepareBulk();//此处是bulkRequest执行完成之后会重新创建一个bulkRequest避免下次提交出现重复的数据,如果是一次性全部提交可以不用使用此处
    }
    }
    bulkRequest.execute().actionGet();
    bulkRequest = client.prepareBulk();

    }

    查询方法

    public void search(){

    Client client = esmanager.getClient();

    RangeQueryBuilder rangequerybuilder = QueryBuilders.rangeQuery("startdate").from(startdate).to(enddate);//建立查询是所使用条件startdate 从from  startdate开始至enddate结束,

    SearchRequestBuilder responsebuilder = client.prepareSearch(index).setTypes(type);//创建查询使用方法
    SearchResponse myresponse = responsebuilder
    .setQuery(QueryBuilders.boolQuery().must(rangequerybuilder))//添加查询条件
    .setFrom(from).setSize(size).addSort("startdate", SortOrder.ASC) // 分页 并且根据startdate进行排序
    .setExplain(true).execute().actionGet();
    SearchHits hits = myresponse.getHits();//searchhits 为查询结果相当于jdbc中的ResultSet
    for (int i = 0; i < hits.getHits().length; i++) {

    hits.getHits()[i].getSourceAsMap().get(key)

    }

     根据业务进行方法的修改,本方法制作一个demo参考为主。

  • 相关阅读:
    git fetch 和git pull 的差别
    解决npm install安装慢的问题
    Git本地分支和远程分支关联
    phalapi 2.14 使用(一)增加顶级命名空间、调整返回结构字段
    vue-element-template实战(五) 获取后端路由表动态生成权限
    vue-element-template实战(四)使用mock数据,新增用户管理界面
    使用phalapi 2.14版本的问题及解决办法
    关于vue
    git详细操作
    三次握手四次挥手理解
  • 原文地址:https://www.cnblogs.com/zhuanxin/p/9582827.html
Copyright © 2011-2022 走看看