我长时间地用力撞墙,试图使类似的方案起作用。我的方案是产品/供应商关系(多个供应商出售的单个产品,描述/价格/可用性可能不同)。
ES中的Parent-> Child映射现在还不是很健壮或易于使用。即使工作正常,您也会很快遇到边缘情况,这
实际上是不可能的,因为ES不支持它。
我认为您最好的选择是自行管理parent-> child映射,并将文档存储在它们自己的索引中。产品具有一个ID,然后将其作为Product_ID存储在ProductVariant文档中。无论如何,这实际上是ES如何在内部存储父子关系的方式。
实际上,您查询“顶级”索引(产品),然后使用Product_ID字段上的过滤器对ProductVariant的索引执行第二次查询。
维护起来比较麻烦,但灵活性更高。至少直到ES变得更好的“父级->子级”功能为止



