【发布时间】:2017-06-20 16:03:47
【问题描述】:
在索引中,我有两个文档示例:产品和 Sku。在产品文档中,我索引了所有与产品相关的属性,例如产品名称、产品品牌,在 sku 文档中,我们索引了所有 sku 属性,例如价格、库存。
我们会将许多 sku 映射到一个产品,但反之亦然。所以我们在 Product 和 sku 之间创建了父子关系。我们将 Product 设置为 Parent,并将 Sku 作为子映射到 Product。问题是当我们查询产品或 sku 时,我们只获得与产品相关的属性(名称和品牌)或仅与 sku 相关的属性(价格和库存)。
但在我们的例子中,当我们查询时,我们还需要获取所有与产品和 sku 相关的属性(名称、品牌、价格和库存)。当我们查询子文件时如何获取父文档的所有属性(或)当我们查询产品时如何获取所有子 sku 及其属性。
在 Elasticsearch 中是否可行。请帮忙。谢谢。 我正在使用 Elasticsearch 2.3.1 版。
【问题讨论】:
-
您是否已经看过“hasParent”和“hasChild”查询?这里是“hasParent”的文档,但“hasChild”非常类似:elastic.co/guide/en/elasticsearch/reference/2.3/…
-
@khituras 是的,已经尝试过了,它只是使用基于子级的过滤父级,反之亦然,它没有返回所有属性
-
哦,是的,就像 chocomuesli 已经提到的那样,innerHits 会给你。
标签: elasticsearch