弹性搜索:亲子与嵌套文档

iea*_*tes 2 database foreign-keys elasticsearch

PS:我们正在使用Elastic 6.x

AS Elastic Search升级后,几乎没有出现重大变化。我们有一些关系数据,需要嵌套或父/子模式进行管理。

对于最终决定,我想知道我有以下问题:

  • 我可以在一个字段中保存多少个嵌套文档/数组大小
  • 我们必须经常操纵这些字段,所以如果我们使用嵌套字段类型,那么建议是什么
  • 如果我们使用4种关系,父母/子女的局限性是什么

我相信,上述问题的答案可以帮助我确定字段类型,让我知道是否还有其他应考虑的事项

提前致谢

Val*_*Val 6

我可以在一个字段中保存多少个嵌套文档/数组大小

默认情况下,每个索引最多可以定义50个嵌套字段。在每个嵌套字段数组中,您可以存储任意数量的元素。

我们必须经常操纵这些字段,所以如果我们使用嵌套字段类型,那么建议是什么

这就是嵌套字段不足的地方,因为每当嵌套文档发生更改时,您要么必须重新索引整个父文档,要么必须通过脚本找出要更新的嵌套文档,但是它很快就会变得很复杂。

如果我们使用4种关系,父母/子女的局限性是什么

从ES 6.x开始,每个索引只能有一个join字段

看起来,嵌套字段或父/子都不适合您的情况……如果您想对更多数据进行非规范化,也许还有另一种可能的设计,但是如果没有获取有关您的案例用例的更多详细信息。

选择父/子与嵌套文档