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参考为主。

  • 相关阅读:
    KLSudoku的数独题目生成方法和难度控制说明
    对XChain和ForcingChain的实现解说
    开源数独游戏软件KLSudoku发布第一个Release版本
    每个 Vim 用户都应该阅读的文章
    自己常用的几个gvim的vimrc设置
    KLSudoku数独游戏软件1.1预览版发布
    KLSudoku数独游戏软件1.1正式版发布
    字符串
    .NET面试大全
    IIS是如何处理ASP.NET请求的
  • 原文地址:https://www.cnblogs.com/zhuanxin/p/9582827.html
Copyright © 2011-2022 走看看