[英]reindex a type on another one in ElasticSearch 2.x onward
我已经更新到ElasticSearch 2.1。 从2.0开始,不再支持删除映射类型。
以前,简单地删除一个类型并再次创建它非常有用。
因此,问题是我应该怎么做才能在ElasticSearch 2.1上达到目标?
想象一下,我有一个索引idx
,类型为tp
。 我认为我将使用alias
,但是我不知道该怎么做。 不存在alias
为index-level
? 是否存在type-level
alias
?
哦,从2.x版本开始,elasticsearch无法删除映射。不再可能删除类型的映射。 相反,您应该删除索引并使用新的映射重新创建它。
[您可以参考以下链接! ]
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/2.2/indices-delete-mapping.html
如我对其他问题的回答中所述 ,您可以按照与以前类似的方式进行操作,只是使用一个全新的索引(我在下面将其称为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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.