【问题标题】:How to clone elasticsearch index mappings如何克隆弹性搜索索引映射
【发布时间】:2020-03-06 03:38:47
【问题描述】:

如何使用 php/python 将 elasticsearch (v5.3) 索引映射克隆到另一个索引。问题是我没有这些索引的映射。我们正在尝试在迁移到集群之前增加分片数量,当前设置是单个节点并且所有索引都有 1 个分片。

我想到的流程 - 创建新索引 -> 克隆映射 -> 重新索引 -> 将别名指向新索引。

如果有人能指出正确的方向,将会有所帮助。

【问题讨论】:

    标签: python elasticsearch


    【解决方案1】:

    我认为路径可以更改为:

    1. 克隆映射,例如。从 HTTP GET elastik:9200/my_index
    2. 使用在第 1 点克隆/或在第 1 点修改的设置创建具有版本后缀的新索引
    3. 用数据重新索引
    4. 修改别名,例如。 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 也很简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 2020-12-17
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      相关资源
      最近更新 更多