`

Elasticsearch索引重建(Rebuild)

阅读更多

Elasticsearch索引重建(Rebuild)

 

索引重建(Rebuild)

         索引创建后,你可以在索引当中添加新的类型,在类型中添加新的字段。但是如果想修改已存在字段的属性(修改分词器、类型等),目前ES是做不到的。如果确实存在类似这样的需求,只能通过重建索引的方式来实现。但想要重建索引,请保证索引_source属性值为true,即存储原始数据。索引重建的过程就是将原来索引数据查询回来入到新建的索引当中去,为了重建过程不影响客户端查询,创建索引时请使用索引别名,例如现在需要将index1进行重建生成index2,index1给客户端提供的别名为index1_alias,完整步骤如下:

1、  创建索引索引index1,使用index1_alias作为别名指定。

 

[html] view plaincopy
 
  1. curl –XPUT localhost:9200/index1 –d‘{  
  2. “aliases”:{  
  3.            “index1_alias”:{}  
  4.   }  
  5. }’  



 

2、  根据新配置创建索引index2

例如:

 

[html] view plaincopy
 
  1. curl–XPUT localhost:9200/index2 –d ‘{  
  2. “settings”:{  
  3.            “index_number_of_shards”:10  
  4. }  
  5. }’  



 

3、  将旧索引数据导入到新索引中

将索引index1中的数据导入到index2当中,可以将index1原始数据划范围导入到index2中。为了提高查询性能,查询类型选择scan方式。例如:

部分1:

 

[html] view plaincopy
 
  1.  GET/ old_index / _search ? search_type = scan & scroll = 1m {  
  2.    "query": {  
  3.         "range": {  
  4.             "date": {  
  5.                 "gte":"2014-01-01",  
  6.                 "lt":"2014-02-01"  
  7.             }  
  8.         }  
  9.    },  
  10.    "size": 1000  
  11. }  



 

部分2:

 

[html] view plaincopy
 
  1. GET/ old_index / _search ? search_type = scan & scroll = 1m {  
  2.    "query": {  
  3.         "range": {  
  4.             "date": {  
  5.                 "gte": "2014-02-01",  
  6.                 "lt": "2014-03-01"  
  7.             }  
  8.         }  
  9.    },  
  10.    "size": 1000  
  11. }  



 

使用上述方式查询原始数据,然后调用ES批量bulk接口索引文档。

4、  索引切换

为了保证系统不停机的情况下进行索引切换,通过修改别名的方式进行修改,即删除index1别名index1_alias,给index2增加index1_alias别名,具体如下:

 

[html] view plaincopy
 
  1. curl –XPUT localhost:9200/_alias ‘{  
  2. “action”:[  
  3.            “remove:{  
  4.                     “index”:”index1”,  
  5.                     “alias”:”index1_aias”  
  6. }”,  
  7.            “add:{  
  8.                     “index”:”index2”,  
  9.                     “alias”:”index1_aias”  
  10. }”  
  11.    
  12. ]  
  13. }’  

 

 

5、  删除旧索引

 

[html] view plaincopy
 
  1. curl–XDELETE localhost:9200/index2  

 

from http://blog.csdn.net/changong28/article/details/38491185

分享到:
评论

相关推荐

    elasticsearch索引介绍.pptx

    Elasticsearch(ES)是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛用于大数据的实时分析和检索。在本讲座中,我们将深入探讨Elasticsearch中的索引概念及其重要性。 首先,让我们理解一下ES中的“索引”...

    springBoot动态操作Elasticsearch组件

    同时,确保正确安装和启动Elasticsearch服务,并根据需求调整索引设置,如分词器的选择、映射的定义等。 在压缩包文件`elsauto`中,可能包含了示例代码、配置文件或测试用例,可以帮助我们更好地理解和实现上述功能...

    elasticsearch索引插件

    索引插件是Elasticsearch生态系统中的重要组成部分,它们扩展了Elasticsearch的功能,提供了更多管理和操作索引的便利性。"plugin-head"是其中一款知名的插件,主要用于提供一个直观的Web界面,帮助用户更轻松地管理...

    Nodejs实现自动清理elasticsearch过期索引(日志清理)

    在IT行业中,日志管理是系统维护和故障排查的关键环节,而Elasticsearch(简称ES)作为一款强大的全文搜索引擎,常被用来存储和分析大量日志数据。然而,随着日积月累,这些数据可能会变得非常庞大,如果不进行有效...

    elasticsearch索引流程

    elasticsearch索引流程,以前的笔记,希望有用

    ES-重建索引 - 副本.doc

    Elasticsearch reindex 修改索引定义、设置、备份索引数据、跨集群数据迁移,reindex使用介绍

    Elasticsearch索引恢复

    3. 数据恢复:在执行了索引重建、快照恢复或通过其他方式恢复丢失的数据时,也需要进行索引恢复。 二、索引恢复的流程 1. 发现阶段:Elasticsearch的主节点会检测到需要恢复的分片,并分配一个恢复任务给一个合适...

    ElasticSearch添加索引.docx

    在Elasticsearch中,添加索引是数据存储和检索的基础操作。索引是Elasticsearch中的一个重要概念,它类似于传统数据库中的表。本篇将详细解释如何为Elasticsearch创建索引,以及索引文件中各项设置的意义。 首先,...

    Elasticsearch7.0备份索引脚本

    **Elasticsearch 7.0 备份索引脚本详解** 在大数据分析和日志管理领域,Elasticsearch(ES)是一个广泛使用的开源搜索引擎和分析引擎。它提供了实时、可扩展的搜索和分析功能。然而,数据的安全性和可靠性至关重要...

    Spring Boot elasticsearch7.6.2基础操作:创建索引、新增数据、查询数据

    在本文中,我们将深入探讨如何使用Spring Boot与Elasticsearch 7.6.2进行基本操作,包括创建索引、添加数据以及查询数据。Elasticsearch是一个强大的分布式搜索引擎,而Spring Boot是Java开发中的轻量级框架,两者...

    Elasticsearch-深入理解索引原理

    Elasticsearch-深入理解索引原理 Elasticsearch 中索引(Index)的概念是非常重要的,它是 Elasticsearch 存储数据的基本单元。索引是一个具有类似特性的文档的集合,类比传统的关系型数据库领域来说,索引相当于 ...

    (狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战)

    (狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战),包含了小狂神讲的东西,特别适合新手学习,笔记保存下来可以多看看。好记性不如烂笔头哦~,ElasticSearch,简称es,es是一个...

    elasticsearch整合分词、创建索引、搜索例子

    lasticsearch整合分词、创建索引、搜索例子,elasticsearch版本为1.0,索引数据从数据表中动态读取生成,有关键字高亮效果,查询分页 1 在dababase目录中导致相关的数据库文件,修改DBCOperation java文件数据库连接...

    es-index-db:一种从数据库创建Elasticsearch索引的简便方法,并在数据库更新时实时更新索引

     另外索引创建之后,数据库数据如有改动,索引无法联动修改,ElasticSearch没有相关功能,我们只能根据修改频率重建索引,基本上没有实时性可言。  db-river-es正是为了解决这些问题而生。 项目介绍 名称:es-...

    ElasticView 是一款用来监控ElasticSearch状态和操作ElasticSearch索引的web可视化工具

    ElasticView是一款专为Elasticsearch设计的web可视化监控和管理工具,主要目的是提供一个直观且易用的界面,帮助用户便捷地查看和管理Elasticsearch集群的状态和索引。这款工具采用高性能的编程语言Go(Golang)进行...

    elasticsearch索引模板

    es索引模板

    Elasticsearch 开发手册

    在数据抽取 ELT 领域,ES 全家桶 ELK(Elasticsearch+Logstash+Kibana)赫赫有名。 Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 ...

    基于.netcore搜索封装ElasticSearch.zip

    在.NET Core中使用Elasticsearch,可以借助各种客户端库,实现与Elasticsearch服务器的交互,执行索引、查询、更新和删除等操作。 这个"TCT.Net.Base.ElasticSearch"库很可能是一个封装了Elasticsearch.NET和Nest的...

    elasticsearch 8.11.3 windows安装包

    无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的...

    ElasticSearch官方测试数据

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene库构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。官方提供的测试数据集是检验Elasticsearch功能、性能和稳定性的关键资源,可以帮助...

Global site tag (gtag.js) - Google Analytics