SOLR 多对多,带有额外的列映射
SOLR many to many with extra column map
是否可以使用额外的列存储多对多关系?
这是一种情况:
stock_item solr 核心是核心,包含有关库存商品的所有内容(名称、价格、描述等)。
取自 stock_item 实体。该实体与 stock_item_group 实体的额外列具有(除此问题中不重要的其他属性外)多对多关系。库存项目组是用于将一些 stock_item 存储在一起的实体(因此,例如 "easter" 库存项目组可能仅包含与复活节有共同点的库存项目)。
简单的多对多关系很容易插入到 solr 中(stock_item 核心持有列表 stock_item_group ids 上会有 属性。但是,还有那个额外的专栏。该列表示 stock_item_group 中库存商品的顺序(因此复活节兔子排在第一位,复活节彩蛋排在第二位,...)。
我不知道如何将其插入到 solr 中(是否可以将地图数组存储到 stock_item 核心中?)
wnated 行为是查询,其中我仅指定 stock_item_group id 和 solr returns stock_item 列表(按该额外列排序)。
听起来您正在跟踪(组)状态和排序顺序。如果库存项目组的数量不是太多,您可以定义两个动态字段模式:
- group_included_[id](布尔值)
- group_order_[id](作为整数)
然后您只需过滤包含的内容并按顺序排序。如果您愿意,您也可以像往常一样包含多值字段。您甚至可以跳过它,只检查 group_order_[id] 字段中是否存在任何值,但性能会更差。
是否可以使用额外的列存储多对多关系?
这是一种情况:
stock_item solr 核心是核心,包含有关库存商品的所有内容(名称、价格、描述等)。
取自 stock_item 实体。该实体与 stock_item_group 实体的额外列具有(除此问题中不重要的其他属性外)多对多关系。库存项目组是用于将一些 stock_item 存储在一起的实体(因此,例如 "easter" 库存项目组可能仅包含与复活节有共同点的库存项目)。 简单的多对多关系很容易插入到 solr 中(stock_item 核心持有列表 stock_item_group ids 上会有 属性。但是,还有那个额外的专栏。该列表示 stock_item_group 中库存商品的顺序(因此复活节兔子排在第一位,复活节彩蛋排在第二位,...)。
我不知道如何将其插入到 solr 中(是否可以将地图数组存储到 stock_item 核心中?)
wnated 行为是查询,其中我仅指定 stock_item_group id 和 solr returns stock_item 列表(按该额外列排序)。
听起来您正在跟踪(组)状态和排序顺序。如果库存项目组的数量不是太多,您可以定义两个动态字段模式:
- group_included_[id](布尔值)
- group_order_[id](作为整数)
然后您只需过滤包含的内容并按顺序排序。如果您愿意,您也可以像往常一样包含多值字段。您甚至可以跳过它,只检查 group_order_[id] 字段中是否存在任何值,但性能会更差。