gpt4 book ai didi

elasticsearch - Elasticsearch:如何获取所有父字段以及子文档?

转载 作者:行者123 更新时间:2023-12-02 23:24:44 24 4
gpt4 key购买 nike

在索引中,我有两个文档,例如:Product和Sku。在产品文档中,我已为所有与产品相关的属性(如产品名称,产品品牌)建立了索引,在SKU文档中,我们已为所有sku属性(如价格,库存)建立了索引。

我们将有许多功能映射到产品上,但反之亦然。因此,我们在Product和sku之间创建了父子关系。我们将“产品作为父级”和“Skus”作为子级映射到“产品”。问题是,当我们查询产品或sku时,我们仅获得与产品相关的属性(名称和品牌)或仅与sku相关的属性(价格和库存)。

但是在我们查询的情况下,我们还需要获取所有与产品和sku相关的属性(名称,品牌,价格和库存)。查询子项时如何获取父文档的所有属性(或)查询产品时如何获取子项sku的所有属性及其属性。

在Elasticsearch中有可能吗?请帮忙。谢谢。
我正在使用Elasticsearch 2.3.1版。

最佳答案

在我之前的项目中,我们遇到了一个相同的问题,即有一个父项(目录项)和一个子项(配置产品-用颜色指定的项目...等)。如khituras所述,您可以应用hasParent-和hasChild-queries,尽管它们不会返回带 child 的 parent 的组合结果集...(link)。

可能您应该尝试InnerHits-queries,它看起来像promising

您的数据集是否经常更改,因此您会受益于父子关系,因为父文档或子文档确实会频繁更改?否则,您可以考虑将父文档嵌入每个 child 中。 Elasticsearch带有基于文档的数据模型,因此在使用父子关系时,您必须意识到可能存在的弊端。在我的项目中,我们应用了嵌入式方法,因为我们未能针对子文档上的父信息应用聚合。

干杯,多米尼克

关于elasticsearch - Elasticsearch:如何获取所有父字段以及子文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44646646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com