python - 如何克隆Elasticsearch索引映射

标签 python elasticsearch

如何使用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 - 如何克隆Elasticsearch索引映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60506377/

    相关文章:

    rest - 在 REST 服务中返回异步 ElasticSearch 数据

    elasticsearch - 如何在Elasticsearch结果中返回geo_point的geohash?

    python - 使用列表检查用户名和密码

    python - 类型错误 : Variable to save is not a Variable

    python - 在安装 Trac 之前验证 MySQLdb (Python) 的线程安全性

    elasticsearch - 如何在Elasticsearch 5.x和Filebeat中解析日期

    Elasticsearch:根据下划线拆分单词;搜索一无所获

    docker - 为什么docker上的ElasticSearch拒绝来自另一个docker容器的连接但没有拒绝curl get

    python - 为什么我得到一个空字符串?

    python - 扩展 Django 用户模型 OneToOne - 用户配置文件未保存