首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch快照/恢复功能是否会导致在恢复期间再次分析数据?

ElasticSearch快照/恢复功能是否会导致在恢复期间再次分析数据?
EN

Stack Overflow用户
提问于 2014-07-25 01:27:30
回答 1查看 352关注 0票数 0

我的ElasticSearch索引中有大量的数据。我更改了索引的default analyzer,因此基本上我需要重新索引我的数据,以便使用新的分析器再次对其进行分析。因此,不是创建一个测试脚本来删除ES索引中的所有现有数据,然后重新添加数据,我想是否有一个备份/恢复模块可以使用。作为其中的一部分,我找到了ES支持的快照/恢复模块- ElasticSearch-SnapshotAndRestore

我的问题是-如果我使用上面的ES快照/恢复模块,它实际上会导致数据被重新分析吗?由于我更改了默认分析器,因此需要重新分析数据。如果没有,您是否建议使用替代工具/模块来允许纯数据导出和导入,从而导致在导入过程中重新分析数据?

DevUser

EN

回答 1

Stack Overflow用户

发布于 2014-07-25 02:46:29

不,它不会重新分析数据。您将需要重新索引您的数据。

幸运的是,这在Elasticsearch中相当简单,因为它默认存储文档的源代码:

为您的data重建索引

虽然您可以向索引添加新类型或向类型添加新字段,但不能添加新分析器或对现有字段进行更改。如果执行此操作,已编制索引的数据将不正确,并且您的搜索将不再按预期工作。

将这些更改应用于现有数据的最简单方法是重新编制索引:使用新设置创建新索引,并将旧索引中的所有文档复制到新索引中。

_source字段的一个优点是您已经在Elasticsearch中获得了整个文档。您不必从数据库重新构建索引,这通常要慢得多。

要有效地对旧索引中的所有文档重新编制索引,请使用scan & scroll从旧索引中检索批量文档,并使用bulk API将它们推入新索引。

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/reindex.html

在采用这种方法之前,我已经阅读了Scan and Scroll:

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html

TaskRabbit确实开源了一个导入/导出工具,但我没有使用过它,所以我不推荐它,但它值得一看:

https://github.com/taskrabbit/elasticsearch-dump

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24940210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档