python - 如何克隆弹性搜索索引映射
问题描述
如何使用 php/python 将 elasticsearch (v5.3) 索引映射克隆到另一个索引。问题是我没有这些索引的映射。我们正在尝试在迁移到集群之前增加分片数量,当前设置是单个节点,并且所有索引都有 1 个分片。
我想到的流程-创建新索引->克隆映射->重新索引->将别名指向新索引。
如果有人能指出正确的方向,将有所帮助。
解决方案
我认为我将路径更改为:
- 克隆映射,例如。从 HTTP GET elastik:9200/my_index
- 从在第 1 点克隆/或在第 1 点修改的设置创建具有版本后缀的新索引
- 用数据重新索引
- 修改别名,例如。my_index 指向带有版本后缀的新索引
在 symfony 中我使用 Elastic Client 并且重新创建索引很简单
$builder = ClientBuilder::create();
$builder
->setHosts([
[
'host' => $host,
'port' => $port,
]
])
->setConnectionParams($this->clientOptions);
$this->client = $builder->build();
$this->client->indices()->delete([
'index' => $this->index
]);
$this->buildMapping();
将上面的代码移动到 symfony cli 也很简单。
推荐阅读
- python - 删除 Pandas 中的第一列
- git - 使用远程分支的特定文件夹跟踪项目的特定本地文件夹
- java - How to use own Util classes in more than one Microservices
- python-3.x - Animated Figure (image) within a class
- django - Django,何时使用多个模板加载器
- amazon-web-services - 如何使用 S3 允许来自任何来源的 http 方法选项?
- javascript - 使用“this”将一个类的对象传递给另一个类(Javascript)
- apache-kafka - Confluent 的架构注册表如何分配架构 ID?
- javascript - ReactJS Cannot get input autofocus to work
- python - Python Implementing protobuf --decode-raw in python