在ElasticSearch 2.x中向另一个类型重新索引类型

时间:2015-12-15 10:52:07

标签: elasticsearch

我已更新到ElasticSearch 2.1。从2.0开始,不再支持删除映射类型。

之前,简单地删除一个类型并再次创建它是非常有用的。

所以,问题是我应该做什么才能在ElasticSearch 2.1上实现它?

想象一下,我的索引idx的类型为tp。 我会使用alias,但我不知道该怎么做。 alias是否存在index-levelalias是否存在type-level

2 个答案:

答案 0 :(得分:1)

哦,自2.x以来,elasticsearch无法删除映射。不再可能删除类型的映射。相反,您应该删除索引并使用新映射重新创建它。

[您可以参考以下链接! ]

https://www.elastic.co/guide/en/elasticsearch/reference/2.2/indices-delete-mapping.html

答案 1 :(得分:0)

my answer to your other question中所述,您可以采用与以前类似的方式继续,只需使用全新的索引(我在下面调用myindex):

首先使用您的映射创建一个新索引

curl -XPUT localhost:9200/myindex -d '{
   "mappings": {
       "mytype": {
           "properties": {
               ...
           }
       }
   }
}'

然后在新索引中重新索引数据

curl -XPUT localhost:9200/myindex/mytype/1 -d '{"field":"value"}'

最后,您可以在新索引myindex上运行查询,也可以删除以前的索引:

curl -XDELETE localhost:9200/oldindex