【问题标题】:ElasticSearch parent/child on different indexes不同索引上的 ElasticSearch 父/子
【发布时间】:2013-08-14 00:35:34
【问题描述】:

有两个对象:人和财物。我想指定一个属于特定人的 _parent。 ElasticSearch 通过 _parent 映射提供了这种能力。但是,我发现的文档和大多数示例都是在 SAME 索引中执行此操作的。

但是,如果我有一个人类索引和一个财物索引,我想知道我是否能够指定跨索引的父关系。初步测试似乎表明没有。

此外,我的理论是你不能这样做,因为它会导致人类总是在不同的分片上作为归属(不同的索引,不同的分片)。我们从文档中知道,人类 id 用于将孩子(在索引时)路由到与人类相同的分片。这是为了提高效率(在内存连接、往返等中)。但这不可能发生,因为我们谈论的是完全不同的分片。

问题 #1:有人知道是否可以跨索引指定 _parent 吗?

如果是这样,

问题 #2:我提到的路由问题如何在内部解决?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您说“不同的索引,不同的分片”是正确的——这意味着问题 #1 的答案是否定的。这样一来,#2就无法回答了。

    【讨论】:

      【解决方案2】:

      2020 年更新 - ElasticSearch 7.8

      如文档链接中所述https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html

      The join data type is a special field that creates parent/child relation within documents of the same index.
      

      这意味着父/子必须在同一个索引中。

      【讨论】:

        猜你喜欢
        • 2021-03-23
        • 1970-01-01
        • 1970-01-01
        • 2018-08-28
        • 1970-01-01
        • 2018-08-01
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        相关资源
        最近更新 更多