`

elasticsearch java API------批量添加索引

阅读更多

elasticsearch java API------批量添加索引

 

 

1.

public void bulkupdate(){

 
BulkRequestBuilder bulkRequest = client.prepareBulk(); 
 
try {
bulkRequest.add(client.prepareIndex("productindex", "productindex", "2") 
       .setSource(XContentFactory.jsonBuilder() 
                   .startObject() 
                       .field("user", "kimchy2") 
                       .field("postDate", new Date()) 
                       .field("message", "trying out Elastic Search") 
                   .endObject() 
                 ) 
       );
bulkRequest.add(client.prepareIndex("productindex", "productindex", "3") 
       .setSource(XContentFactory.jsonBuilder() 
                   .startObject() 
                       .field("user", "kimchy3") 
                       .field("postDate", new Date()) 
                       .field("message", "another post") 
                   .endObject() 
                 ) 
       ); 
        
BulkResponse bulkResponse = bulkRequest.execute().actionGet(); 
if (bulkResponse.hasFailures()) { 
   //处理错误 

}

bulkRequest.request().requests().clear();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

 

}

2.

 

[java] view plaincopy
 
 
  1. public void testBulkIndex() throws Exception {  
  2.   
  3.     NodeBuilder builder = NodeBuilder.nodeBuilder();  
  4.     String clusterName = PropertyManager.getContextProperty("cluster.name");  
  5.     builder.clusterName(clusterName);  
  6.     Node node = builder.node();  
  7.     Client client = node.client();  
  8.   
  9.     ObjectMapper mapper = new ObjectMapper();  
  10.   
  11.     List<Person> persons = new ArrayList<Person>();  
  12.   
  13.     List<IndexRequest> requests = new ArrayList<IndexRequest>();  
  14.   
  15.     for (int i = 0; i < 10; i++) {  
  16.         Person person = new Person();  
  17.         person.setAge(20 + i);  
  18.         person.setId(UUID.randomUUID().toString());  
  19.         person.setIsStudent(true);  
  20.         person.setName("张三" + i);  
  21.         person.setSex("男");  
  22.         persons.add(person);  
  23.   
  24.         String index = "user"// 相当于数据库名  
  25.         String type = "tb_person"// 相当于表名  
  26.   
  27.         String json = mapper.writeValueAsString(person);  
  28.   
  29.         IndexRequest request = client  
  30.                 .prepareIndex(index, type, person.getId()).setSource(json)  
  31.                 .request();  
  32.   
  33.         requests.add(request);  
  34.     }  
  35.   
  36.     BulkRequestBuilder bulkRequest = client.prepareBulk();  
  37.   
  38.     for (IndexRequest request : requests) {  
  39.         bulkRequest.add(request);  
  40.     }  
  41.   
  42.     BulkResponse bulkResponse = bulkRequest.execute().actionGet();  
  43.     if (bulkResponse.hasFailures()) {  
  44.         Assert.fail("批量创建索引错误!");  
  45.     }  
  46. }  
分享到:
评论

相关推荐

    ElasticSearch Java API 中文文档

    3. **依赖(Dependency)**: 介绍了如何在Java项目中添加ElasticSearch Java API依赖,特别是推荐使用与ElasticSearch版本号一致的transport版本号。这是使用ElasticSearch Java API前的必要配置。 4. **Java客户端...

    基于Elasticsearch Java API的参考手册

    Java API是Elasticsearch官方提供的与Elasticsearch服务器进行交互的主要工具,它使得开发者能够用Java语言便捷地进行索引、搜索、聚合等多种操作。 ### 一、Elasticsearch核心概念 1. **节点(Node)**: Elastic...

    ElasticSearch Java API

    **Elasticsearch Java API**是Elasticsearch与Java应用程序交互的主要工具,它允许开发者在Java环境中无缝地创建、管理和查询Elasticsearch索引。Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,用于...

    elasticsearch java api 离线文档

    在 Java 应用程序中使用 Elasticsearch,开发者可以利用 Java API 来执行索引、搜索、聚合、更新和删除等操作。这些操作使得 Elasticsearch 成为大数据分析、日志处理和实时搜索等场景的理想选择。 **1. 索引操作**...

    elasticsearch java api

    Elasticsearch Java API是开发Elasticsearch应用时常用的一个接口,它允许开发者使用Java语言与Elasticsearch集群进行交互。由于“隔壁的30分比较老,基本上都用不了”,这可能指的是早期版本的教程或API已经过时,...

    分布式搜索 elasticsearch 方案研究 - Java API

    **分布式搜索 Elasticsearch 方案研究 - Java API** Elasticsearch 是一款功能强大的开源搜索引擎,它基于 Lucene 库,提供了一个分布式、实时、可扩展的搜索和分析引擎。本方案主要探讨如何利用 Java API 来与 ...

    基于Elasticsearch2.1.1的JavaAPI基本操作代码示例

    在这个基于Elasticsearch 2.1.1的Java API基本操作代码示例中,我们将探讨如何利用Java API进行常见的数据操作,如索引创建、文档插入、查询以及更新。 首先,为了使用Elasticsearch的Java API,我们需要在项目中...

    最新版windows elasticsearch-7.8.0-windows-x86_64.zip

    Elasticsearch是一个开源的全文搜索引擎,它以分布式、RESTful API接口、实时、高可用性和可扩展性而闻名。在Windows环境下安装和使用Elasticsearch 7.8.0版本,用户可以享受到强大的搜索和分析功能,适用于日志分析...

    elasticsearch-6.8.0+elasticsearch-analysis-ik-6.8.0 .zip

    3. **数据导入**:使用 Elasticsearch 的 Bulk API 或者 Spring Data Elasticsearch 进行批量数据导入。 4. **分词器选择**:选择合适的分词器,如 IK 分词器,为中文文本提供精确的分词服务。 5. **查询接口设计**...

    Elasticsearch5.x Java API手册

    Elasticsearch 5.x 版本的 Java API 手册是开发者进行 Elasticsearch 相关开发的重要参考资料。Elasticsearch 是一个流行的开源全文搜索引擎,广泛应用于数据检索、分析和实时数据存储。Java API 提供了与 Elastic...

    Elasticsearch Java API 手册.zip

    - Elasticsearch Java API允许开发者在Java应用程序中直接操作Elasticsearch集群,创建索引、插入文档、执行查询等。 - 首先,你需要添加Elasticsearch的Java客户端库到项目依赖中,通常使用Maven或Gradle进行管理...

    最新版linux elasticsearch-8.1.1-linux-x86_64.tar.gz

    - 启动Elasticsearch:`bin/elasticsearch`,如果使用Java环境变量,可能还需要配置`JAVA_HOME`。 3. **RESTful API** Elasticsearch基于HTTP的RESTful接口进行操作,便于通过各种编程语言与其交互。常见的API...

    elasticsearch5.6以上version通用java API

    在"elasticsearch5.6以上version通用java API"中,我们将会探讨如何利用Java编写工具类,以覆盖更全面的操作,如映射创建、批量插入、聚合查询以及模糊和精确查询。 1. **映射创建**:Elasticsearch的映射(Mapping...

    elasticsearch-java-rest:Elasticsearch Java Rest手册

    **Elasticsearch Java REST客户端详解** Elasticsearch是一款强大的开源搜索引擎,广泛应用于数据存储、分析和检索。在Java开发环境中,使用Elasticsearch时,Java REST客户端是一个关键工具,它允许开发者通过...

    elasticsearch-2016-8最新可用java代码

    本资料“elasticsearch-2016-8最新可用java代码”是针对2016年8月版本的Elasticsearch,提供了使用Java API进行操作的示例代码,对于理解如何在Java应用中集成和操作Elasticsearch具有重要意义。 1. **Elastic...

    elasticsearch-java中文文档 -5.6.3版本

    Java API则作为Elasticsearch的依赖库,通过Maven或Gradle添加到项目中。 ### 2. 连接Elasticsearch 使用Java API连接Elasticsearch,首先需要创建一个`TransportClient`实例。这通常涉及配置节点地址和端口,例如...

    elasticsearch java操作的api实例

    在Java环境中操作Elasticsearch,我们通常会利用官方提供的Java API,这是一个非常全面且强大的工具集,让我们能够方便地进行索引管理、查询、过滤、分组和映射设置等操作。 首先,让我们详细了解如何使用Java API...

Global site tag (gtag.js) - Google Analytics