`

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 同义词创建索引实例.txt

    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开发中的轻量级框架,两者...

    ES查询客户端,elasticsearch可视化工具 elasticsearch查询客户端

    Elasticsearch查询客户端是用于与ES服务器通信的软件,它们提供了多种语言的API,允许开发者以编程方式执行索引、搜索、更新和删除等操作。常见的Elasticsearch客户端包括: - **Jest**:一个轻量级的Java REST...

    Elasticsearch-深入理解索引原理

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

    ES客户端+谷歌浏览器插件+Multi-Elasticsearch-Head

    多弹性搜索头,对著名的 Elasticsearch Head 的改进 1.保存和存储几个Elasticsearch端点 ...它通常提供了一种直观的方式来查看索引结构、执行查询语句、分析日志数据,以及执行其他与Elasticsearch管理相关的任务。

    Elasticsearch数据导出工具

    Elasticsearch数据导出工具是一种高效实用的解决方案,它允许用户方便地从Elasticsearch(ES)集群中抽取数据,并将其导出到不同的目标,如MySQL数据库或本地文件系统。这款工具尤其适用于需要进行数据迁移、备份或...

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

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

    从SQLServer收集事件并将其保存到Elasticsearch以便进行进一步分析

    创建一个脚本,定期连接到SQL Server,执行查询以获取事件,然后使用Elasticsearch客户端将数据索引到适当的索引中。 在Elasticsearch中,数据的结构化很重要。为了有效地分析SQL Server事件,我们需要设计合适的...

    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)进行...

Global site tag (gtag.js) - Google Analytics