我正在将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
和{{ 1}})没有值。这不是浪费吗?还是设计不好?
因此,我只是在寻找是否有任何方法可以改进此设计。预先感谢。
脚注意:当前版本也具有父子关系,也需要保留在D
中。 (没有太大问题,可以使用6.7
完成)
答案 0 :(得分:0)
只需将每种类型迁移到其专用索引,这就是防止稀疏的方法。
将几种类型保留在同一个索引中的唯一原因(带有可区分的type
字段)是当它们都共享一组公共字段时,否则,每种类型都应放入自己的索引中。