我正在将Elasticsearch
从version 5.6
过渡到6.7
。在6.x
他们说multiple types
应该被带到one type
当被带到一个type
下时,新的type
有很多领域。让我们说版本5.6
,有类型A
,B
和C
。他们每个人都有10个fields
。所以每个document
存储在那些types
,有10个fields
。
但是在6.x
,A
,B
和C
被带入单个type
D
,D
有30个fields
。如果我们在document
存储type
A
的D
,则使用10个字段,20个fields
(与B
和D
相关)没有值。这不是浪费吗?还是糟糕的设计?
所以我只是想知道是否有任何方法可以改进这种设计。提前致谢。
脚注:当前版本的父子关系也需要保存在6.7
中。 (没有太大的问题,可以使用join type
完成)
只需将每种类型迁移到自己的专用索引,这就是防止稀疏性的方法。
将几个类型保留在同一索引中(具有区别性的type
字段)的唯一原因是它们共享一组公共字段时,否则,每个类型应该进入其自己的索引。