`

ElasticSearch reindex by JAVA API

 
阅读更多
[html] view plain copy
 
  1. package elasticsearch.importdata;  
  2.   
  3. import org.elasticsearch.action.search.SearchResponse;  
  4. import org.elasticsearch.action.search.SearchType;  
  5. import org.elasticsearch.client.Client;  
  6. import org.elasticsearch.client.transport.TransportClient;  
  7. import org.elasticsearch.common.settings.ImmutableSettings;  
  8. import org.elasticsearch.common.settings.Settings;  
  9. import org.elasticsearch.common.transport.InetSocketTransportAddress;  
  10. import org.elasticsearch.common.unit.TimeValue;  
  11. import org.elasticsearch.index.query.QueryBuilder;  
  12. import org.elasticsearch.index.query.QueryBuilders;  
  13. import org.elasticsearch.search.SearchHit;  
  14.   
  15. public class ESBulkDataApi {  
  16.   
  17.     public static void main(String[] args) {  
  18.         // establish the client  
  19.         Settings settings = ImmutableSettings.settingsBuilder()  
  20.                 .put("cluster.name", "genbank").build();  
  21.         @SuppressWarnings("resource")  
  22.         Client client = new TransportClient(settings)  
  23.                 .addTransportAddress(new InetSocketTransportAddress(  
  24.                         "10.0.26.1", 9300));  
  25.         QueryBuilder queryBuilder = QueryBuilders.boolQuery().must(  
  26.                 QueryBuilders.matchAllQuery());  
  27.   
  28.         SearchResponse searchResponse = client.prepareSearch("liu")  
  29.                 .setTypes("seqs").setSearchType(SearchType.SCAN)  
  30.                 .setScroll(new TimeValue(60000)).setQuery(queryBuilder)  
  31.                 .setSize(100).execute().actionGet();  
  32.   
  33.         //scroll to get the data  
  34.         while (true) {  
  35.   
  36.             searchResponse = client  
  37.                     .prepareSearchScroll(searchResponse.getScrollId())  
  38.                     .setScroll(new TimeValue(600000)).execute().actionGet();  
  39.               
  40.   
  41.             for (SearchHit hit : searchResponse.getHits().getHits()) {  
  42.                 // copy the data to the new index  
  43.                   
  44.                 client.prepareIndex("my_index_v1", "seqs", hit.getId())  
  45.                         .setSource(hit.getSourceAsString()).execute().actionGet();  
  46.             }  
  47.   
  48.             // when there is no data,break the loop  
  49.             if (searchResponse.getHits().getHits().length == 0) {  
  50.                 break;  
  51.             }  
  52.   
  53.         }  
  54.     }  
  55.   
  56. }  
 
 
分享到:
评论

相关推荐

    ElasticSearch Java API 中文文档

    标签《ES Java API 中文文档》强调了文档的内容属性,它属于ElasticSearch的一个重要组成部分,即用Java语言进行数据交互和操作的应用程序接口部分。 从部分内容中可以提取出以下知识点: 1. **Transport Client**...

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

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

    基于Elasticsearch Java API的参考手册

    **Elasticsearch Java API详解** Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,广泛应用于大数据领域的实时分析和信息检索。Java API是Elasticsearch官方提供的与Elasticsearch服务器进行交互的...

    ElasticSearch java API

    ElasticSearch 官方 java API

    elasticsearch离线JAVA API文档下载

    **Elasticsearch离线Java API文档详解** Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于数据分析、日志分析和全文检索等场景。它的Java API是开发人员与Elasticsearch进行交互的主要工具,提供了...

    ES(elasticSearch6.4.0)之java API源码demo-完整注释版

    ES(elasticSearch6.4.0)之java API源码demo-完整注释版,本版本为上一demo版本升级版,封装了ES的javaAPI,支持了模糊查询,排序查询,解析,分页查询等功能,如果有问题请留言。我会及时回复。

    elasticsearch java api 离线文档

    **Elasticsearch Java API 离线文档** Elasticsearch 是一个开源的全文搜索引擎,它提供了高度可扩展的、实时的搜索与分析引擎服务。Java API 是 Elasticsearch 提供的用于与集群交互的主要接口,允许开发者在 Java...

    elasticsearch java api

    **Elasticsearch Java API**是Elasticsearch官方提供的用于与Elasticsearch服务器进行交互的Java客户端库。在Java应用程序中,我们通常会使用这个API来创建、查询、更新和删除索引中的数据。Elasticsearch 2.3版本的...

    elasticsearch5.6以上version通用java API

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

    J-ES-Reindex:用于重新索引 Elasticsearch 索引的 Java 命令行工具

    J-ES-Reindex Java Command Line tool for reindexing Elasticsearch Indices$ java -jar J-ES-Reindex.jar ---------------------------------Elasticsearch Java Reindex tool v0.5------------------------------...

    ElasticSearch Java API

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

    elasticsearch-6.3.0-API文档-中文版.zip

    标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    elasticsearch-6.2.3-API文档-中文版.zip

    标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Elasticsearch5.x Java API手册

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

    elasticsearch-6.8.3-API文档-中文版.zip

    标签:elasticsearch、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    ES(elasticSearch6.4.0)之java API源码demo

    ElasticSearch是个开源的分布式的搜索引擎,它可以近乎实时的存储、检索数据;... ElasticSearch提供javaAPI,使用者可以通过javaAPI调用,但是7.0以后不会提供普通javaAPI,需要使用高级APIrest-high-level调用。

    Elasticsearch 5.1.1 java api maven工程 源码下载

    Java API是Elasticsearch与Java应用程序进行交互的主要方式,提供了丰富的类库和方法,使得开发者能够方便地在Java应用中集成Elasticsearch的功能。 在描述中提到的"Elasticsearch 5.1.1 java api maven工程"是指一...

    elasticsearch5.5.1的javaapi,含创建索引、mapping、查询、增加删除文档

    elasticsearch5.5.1的javaapi,含创建索引、mapping、查询、增加删除文档

    elasticsearch java操作的api实例

    本实例主要关注的是如何通过Java API来与Elasticsearch进行交互,包括索引管理、搜索查询、过滤器、分组和高亮显示,以及映射(Mapping)的创建。 一、索引管理 1. 创建索引:在Elasticsearch中,我们可以通过`...

Global site tag (gtag.js) - Google Analytics