【发布时间】:2019-11-14 15:22:01
【问题描述】:
是否可以用额外的列存储多对多关系?
这是一种情况:
stock_item solr core 是包含有关库存项目的所有内容(如名称、价格、描述...)的核心。
它取自stock_item 实体。该实体(除了在这个问题中不重要的其他属性之外)与带有 stock_item_group 实体的额外列的多对多关系。库存项目组是用于将一些 stock_item 存储在一起的实体(例如,可能存在“复活节”库存项目组,其中仅包含与复活节有共同点的库存项目)。 简单的多对多关系很容易插入到 solr 中(stock_item 核心持有 stock_item_group ids 列表的属性)。但是,还有那一列。该列表示 stock_item_group 中库存项目的顺序(所以复活节兔子将是第一个,复活节彩蛋秒,...)。
我不知道如何将它插入到 solr 中(是否可以将地图数组存储到 stock_item 核心中?)
wnated 行为是查询,我只指定 stock_item_group id,solr 返回由该额外列排序的 stock_items 列表。
【问题讨论】:
-
我很难解析你真正想要的问题。通常,您必须围绕特定项目(例如库存项目)构建文档,然后使用每个文档的多对多链接中的数据来丰富它,但是如果没有很好地了解您的实际问题,就很难说.
-
我的问题哪一部分不清楚,我可以修改问题。我有 M:N(两个实体)我连接了其他信息(它们连接在一起的顺序)。在 M 实体上,我有一个 solr 核心(因此我可以对其进行查询、获取等)。如果没有关系,我只会保存连接该项目的 N 个实体的 id 数组。然后我会查询那个 M 核心,告诉我想要这个核心的记录,这些记录保存了 N 个实体的一些 id。那会很容易。但我有那个额外的订单栏。所以我得说,给我按那个附加列(它的 int)排序的所有核心记录。
-
应该澄清解释问题的整个段落。添加它在您的数据库中的外观示例,以及查询应该回答什么的示例。初步猜测是可以使用动态字段名进行排序,但不了解问题就很难说
标签: solr