克隆所有映射的弹性搜索索引

时间:2017-09-27 18:45:26

标签: elasticsearch-5

我正在尝试将弹性搜索索引从登台环境克隆到prod环境。找不到办法做到这一点。我想要做的就是使用映射克隆现有索引,而不是数据。

有人能指出我正确的方向。

2 个答案:

答案 0 :(得分:0)

没有1-liner,但如果您拥有elasticsearch-python module并且您只关心映射,这将有效。

from elasticsearch import Elasticsearch

eshost = <YOUR ELASTICSEARCH HOST>
oldindex = <SOURCE INDEX TO COPY>
newindex = <NEW INDEX>

es = Elasticsearch(eshost)

createReply = es.indices.create(index=newindex)
getReplySource = es.indices.get_mapping(index=oldindex)

sourceMappings = getReplySource[oldindex]['mappings']
for doc_type, mapping in sourceMappings.iteritems():
  putReplyTarget = es.indices.put_mapping(doc_type, mapping, newindex)

答案 1 :(得分:0)

object Search { implicit def case1[A](implicit ev: TypeClass1[A]): Search[A] = null implicit def case2[M[_], A](implicit ev: TypeClass2[M, A]): Search[M[A]] = null } elasticsearch 5.6中,以下代码对我有用:

py-elasticsearch 5.5.3