Elasticsearch:如何在不删除整个索引的情况下删除映射类型?

Nat*_*ese 7 elasticsearch

是否可以从索引中删除单个映射类型而不删除整个索引?https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-mapping.html说这不再可能,但我觉得很难相信.任何人都可以解释为什么功能被删除?看起来像基本的东西.

我有一个带有两个映射的索引.我希望能够删除一种映射类型(以及该类型的所有文档),而不删除其他映射类型.

谢谢

JVX*_*VXR 5

为了回答你的问题,我相信当映射在集群中传输时,它是为了可靠性以及可能的性能优化而被剔除的。

ES索引之所以很难改变,是因为底层存储是倒排索引,你放入的任何数据都已经用这些映射规则建立了索引。

Elasticsearch 降低了进入搜索的门槛,但背后有一些相当复杂的东西。


kee*_*ety 5

删除类型/映射的潜在问题的示例以及禁用的说明可以在 elasticsearch问题中找到:8877。问题描述摘录:

目前,用户可以完全删除某个类型,这会删除该类型、该类型的所有文档,并删除关联的字段。不幸的是,如果该类型的任何文档已经被索引,那么这些字段就是索引的一部分。添加具有相同名称但不同数据类型的字段稍后会导致冲突。

目前,重新索引是唯一的选择,但是为了缓解客户端重新索引的问题,似乎将来有可能支持重新索引 api:请参阅问题:16207问题:#15201了解更多详细信息。