当前位置: 首页>>代码示例>>Java>>正文


Java Client.prepareBulk方法代码示例

如果您正苦于以下问题:Java Client.prepareBulk方法的具体用法?Java Client.prepareBulk怎么用?Java Client.prepareBulk使用的例子?那么, 这里精选的代码示例或许能为您提供帮助。

以下是org.elasticsearch.client.ClientClient.prepareBulk方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为感觉有用的代码点赞,您的评价将有助于系统推荐出更好的Java代码示例。


示例1: BulkIndex

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
private static void BulkIndex(Client client) throws IOException {

        BulkRequestBuilder requestBuilder = client.prepareBulk();

        requestBuilder.add(client.prepareIndex("twitter","tweet","4")
                .setSource(jsonBuilder()
                        .startObject()
                        .field("user","niekaijie")
                        .field("school","beiyou")
                        .field("address","haidianqu")
                        .endObject())
        );
        requestBuilder.add(client.prepareIndex("twitter","tweet","3")
                .setSource(jsonBuilder()
                        .startObject()
                        .field("user","林志颖aa")
                        .field("school","台湾大学")
                        .field("address","台湾")
                        .endObject())
        );
        BulkResponse response = requestBuilder.get();


    }
 
开发者ID:hs-web,项目名称:hsweb-learning,代码行数:25,代码来源:ElasticSearch.java

示例2: createBulkRequest

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
public static BulkRequestBuilder createBulkRequest(final Client client, final StreamInput streamInput, final String index)
        throws IOException {
    final BulkRequestBuilder builder = client.prepareBulk();
    final BulkRequest request = builder.request();
    request.readFrom(streamInput);
    if (index != null) {
        request.requests().stream().forEach(req -> {
            if (req instanceof DeleteRequest) {
                ((DeleteRequest) req).index(index);
            } else if (req instanceof DeleteByQueryRequest) {
                ((DeleteByQueryRequest) req).indices(index);
            } else if (req instanceof IndexRequest) {
                ((IndexRequest) req).index(index);
            } else if (req instanceof UpdateRequest) {
                ((UpdateRequest) req).index(index);
            } else if (req instanceof UpdateByQueryRequest) {
                ((UpdateByQueryRequest) req).indices(index);
            } else {
                throw new ElasticsearchException("Unsupported request in bulk: " + req);
            }
        });
    }
    return builder;
}
 
开发者ID:codelibs,项目名称:elasticsearch-indexing-proxy,代码行数:25,代码来源:RequestUtils.java

示例3: deleteES

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
private static void deleteES(Client client) {
  BulkRequestBuilder bulkRequest = client.prepareBulk();
  SearchResponse response = client.prepareSearch(index).setTypes(type)
      .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
      .setQuery(QueryBuilders.matchAllQuery())
      .setFrom(0).setSize(20).setExplain(true).execute().actionGet();
  System.out.println("length: " + response.getHits().getHits().length);
  if (response.getHits().getHits().length != 0) {
    for (SearchHit hit : response.getHits()) {
      String id = hit.getId();
      System.out.println("id: " + id);
      bulkRequest.add(client.prepareDelete(index, type, id).request());
    }
    BulkResponse bulkResponse = bulkRequest.get();
    if (bulkResponse.hasFailures()) {
      for (BulkItemResponse item : bulkResponse.getItems()) {
        System.out.println(item.getFailureMessage());
      }
    } else {
      System.out.println("delete ok");
    }
  } else {
    System.out.println("delete ok");
  }
}
 
开发者ID:MoneZhao,项目名称:elasticsearch,代码行数:26,代码来源:App.java

示例4: restoreDataFromFile

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
public void restoreDataFromFile(Client client, String indexname, File datafile) throws IOException {

        if (datafile.getName().endsWith(".data")) {
            JsonUtilities jsonutil = new JsonUtilities();
            Map<String, Object> map;

            reader = new BufferedReader(new FileReader(datafile));
            BulkRequestBuilder bulkRequest = client.prepareBulk();

            String tempString = null;
            // 一次读一行,读入null时文件结束
            while ((tempString = reader.readLine()) != null) {
                map = jsonutil.JsonToMap(tempString);

                bulkRequest.add(client.prepareIndex(indexname, (String) map.get("_type"), (String) map.get("_id"))
                        .setSource(jsonutil.MapToJson((Map<String, Object>) map.get("_source")), XContentType.JSON));

            }
            bulkRequest.execute().actionGet();
            client.admin().indices().prepareRefresh(indexname).get();

            logmsg.clear();
            logmsg.put("Action", "Restore data");
            logmsg.put("Index", indexname);
            logmsg.put("FileName", datafile.getAbsolutePath());
            logger.info(jsonutil.MapToJson(logmsg));
        }

    }
 
开发者ID:jiashiwen,项目名称:elasticbak,代码行数:30,代码来源:RestoreEsIndex.java

示例5: CopyIndex

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
public void CopyIndex(Client sourceclient, String sourceindex, Client targetclient, String targetindex) {
    // TODO Auto-generated method stub
    count = 0;
    QueryBuilder qb = QueryBuilders.matchAllQuery();

    try {

        SearchResponse scrollResp = sourceclient.prepareSearch(sourceindex)
                .addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC).setScroll(new TimeValue(60000))
                .setQuery(qb).setSize(500).execute().actionGet();

        while (true) {
            final BulkRequestBuilder bulkRequest = targetclient.prepareBulk();
            for (SearchHit hit : scrollResp.getHits().getHits()) {
                bulkRequest.add(targetclient.prepareIndex(targetindex, hit.getType().toString(), hit.getId())
                        .setSource(hit.getSourceAsString()));
                count++;
            }

            bulkRequest.execute();
            scrollResp = sourceclient.prepareSearchScroll(scrollResp.getScrollId()).setScroll(new TimeValue(60000))
                    .execute().actionGet();

            logger.info(count + " documents putted!!");

            if (scrollResp.getHits().getHits().length == 0) {
                break;
            }
        }

        logger.info("copy index " + sourceindex + " " + count + " documents" + " to " + targetindex + " complete");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
 
开发者ID:jiashiwen,项目名称:elasticbak,代码行数:37,代码来源:ElasticsearchCopyIndex.java

示例6: CopyIndexByQueryDsl

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
public void CopyIndexByQueryDsl(Client sourceclient, String sourceindex, Client targetclient, String targetindex,
        String DSL) {
    count = 0;
    // 单线程scroll,bulk写入
    WrapperQueryBuilder wrapper = new WrapperQueryBuilder(DSL);

    try {
        SearchResponse scrollResp = sourceclient.prepareSearch(sourceindex)
                .addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC).setScroll(new TimeValue(60000))
                .setQuery(wrapper).setSize(500).execute().actionGet();

        while (true) {
            final BulkRequestBuilder bulkRequest = targetclient.prepareBulk();
            for (SearchHit hit : scrollResp.getHits().getHits()) {
                bulkRequest.add(targetclient.prepareIndex(targetindex, hit.getType().toString(), hit.getId())
                        .setSource(hit.getSourceAsString()));
                count++;
            }

            bulkRequest.execute();

            scrollResp = sourceclient.prepareSearchScroll(scrollResp.getScrollId()).setScroll(new TimeValue(60000))
                    .execute().actionGet();
            logger.info(count + " documents putted!!");

            if (scrollResp.getHits().getHits().length == 0) {
                break;
            }
        }
        
        logger.info("copy index " + sourceindex + " " + count + " documents" + " to " + targetindex + " complete");
        
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:jiashiwen,项目名称:elasticbak,代码行数:37,代码来源:ElasticsearchCopyIndex.java

示例7: importES

import org.elasticsearch.client.Client; //导入方法依赖的package包/类
private static void importES(Client client) throws IOException {
  String filePath = "es.txt";
  File file = new File(filePath);
  if (!file.exists()) {
    System.out.println("文件不存在");
    return;
  }
  try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
    //读取刚才导出的ES数据

    String string;
    int count = 0;
    //开启批量插入
    BulkRequestBuilder bulkRequest = client.prepareBulk();
    while ((string = br.readLine()) != null) {
      if (Objects.equals(string, "")) continue;
      JsonObject jsonObject = new JsonObject(string);
      System.out.println(jsonObject);
      String ESindex;
      if (jsonObject.containsKey("ESindex")) {
        ESindex = (String) jsonObject.remove("ESindex");
      } else {
        ESindex = index;
      }
      String EStype;
      if (jsonObject.containsKey("EStype")) {
        EStype = (String) jsonObject.remove("EStype");
      } else {
        EStype = type;
      }
      ++count;
      bulkRequest.add(client.prepareIndex(ESindex, EStype, String.valueOf(count)).setSource(jsonObject.toString()));
      //每一千条提交一次
      if (count % 1000 == 0) {
        bulkRequest.execute().actionGet();
        System.out.println("提交了:" + count);
      }
    }
    bulkRequest.execute().actionGet();
    System.out.println("插入完毕");
  }
}
 
开发者ID:MoneZhao,项目名称:elasticsearch,代码行数:43,代码来源:App.java


注:本文中的org.elasticsearch.client.Client.prepareBulk方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。