当前位置: 首页 > 面试题库 >

ElasticSearch-如何对现有索引进行一对一复制

牛华皓
2023-03-14
问题内容

我正在使用Elasticsearch 2.3.3并试图为现有索引创建一个精确的副本。(使用与Elasticsearch安装捆绑在一起的reindex插件)

问题是复制了数据,但是忽略了诸如映射和分析器之类的设置。

精确复制现有索引(包括所有设置)的最佳方法是什么?

我的主要目标是创建副本,更改副本,并且只有在一切顺利的情况下,才将别名替换为副本。(零宕机时间备份和还原)


问题答案:

以下似乎完全达到了我想要的效果:

使用快照和还原,我能够还原到另一个索引:

POST /_snapshot/index_backup/snapshot_1/_restore { "indices": "original_index", "ignore_unavailable": true, "include_global_state": false, "rename_pattern": "original_index", "rename_replacement": "replica_index" }

据我目前所知,它已经完全完成了我所需要的。我的原始索引的1对1副本。

我还怀疑此操作比为我的目的重新编制索引的性能更好。



 类似资料:
  • 问题内容: 我用映射创建了一个新索引。其中存储了500 000个文档。 我想更改索引的映射,但是在elasticsearch中是不可能的。所以我用新的新映射创建了另一个索引,现在我正尝试将文档从旧索引复制到新索引。 我正在使用扫描和滚动类型从旧索引中检索文档并将其复制到新索引。复制需要花费更多时间,并且系统运行缓慢。 下面是我正在使用的代码。 问题答案: 您不必编写类似的代码。周围有一些出色的工具

  • 问题内容: 以下是我的数据框。我进行了一些转换以创建类别列,并删除了其所属的原始列。现在,我需要进行分组,以除去公母,并且可以通过总和来汇总。 这是我创建数据框时创建的索引 我假设我想删除索引,并创建日期和类别,然后对指标进行求和。如何在熊猫数据框中执行此操作? 在Ubuntu 12.04上,Python为2.7,熊猫为0.7.0。下面是我运行以下命令时遇到的错误 问题答案: 您可以在现有数据框上

  • 问题内容: 我将Logstash 1.4.1和ES1.01一起使用,并希望根据计算出的校验和替换已经索引的文档。我目前在Logstash中使用“指纹”过滤器,该过滤器根据指定的算法创建“指纹”字段。现在- 我要完成的任务是ES 根据相同的指纹值替换现有的文档 。 例如,假设我有一个指纹字段值为“ 2c9a6802e10fbcff36177e0b88993f90868fa6fa”的文档。现在- 如果

  • 问题内容: 假设我的ElasticSearch中有电影数据,并且我这样创建它们: 我有一堆不同年代的电影。我想复制特定年份(即1972年)中的所有电影,然后将它们复制到新的索引“ 70sMovies”,但是我看不到该怎么做。 问题答案: 从ElasticSearch 2.3开始,您现在可以使用内置的API 例如: 或仅通过添加过滤器/查询的特定部分 了解更多:https://www.elastic

  • 假设我的ElasticSearch中有电影数据,我创建了它们,如下所示: 我有很多不同年代的电影。我想复制某一年(1972年)的所有电影,并将它们复制到一个新的索引“70sMovies”,但我不知道怎么做。