弹性搜索:父子对象与嵌套文档

时间:2018-04-20 12:03:30

标签: database elasticsearch foreign-keys

P.S:我们正在使用Elastic 6.x

AS Elastic Search升级后,也会弹出一些重大更改。我们有一些关系数据需要以嵌套或父/子模式进行管理。

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

  • 我可以在一个字段中保存多少嵌套文档/数组大小
  • 如果我们使用嵌套字段类型
  • ,我们必须经常操作这些字段
  • 如果我们使用4种关系
  • ,父/子有什么限制

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

提前致谢

1 个答案:

答案 0 :(得分:4)

  

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

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

  

如果我们使用嵌套字段类型

,我们必须经常操作这些字段

这就是嵌套字段变短的地方,因为每当嵌套文档发生更改时,您都必须重新索引整个父文档或figure out via scripting嵌套文档以进行更新,但它很快就会变得非常复杂。

  

如果我们使用4种类型的关系,那么父/子的限制是什么

在ES 6.x起,您的每个索引限制为single join field

看起来,它看起来似乎不是嵌套字段,也不是父/子在你的情况下也能很好地工作......如果你愿意对你的数据进行非规范化,可能还有另一种可能的设计,但很难说没有获得有关您的优先用例的更详细信息。