【发布时间】:2015-08-13 03:34:50
【问题描述】:
我有数以百万计的法庭意见要编入索引。在我们的关系数据库中,每个意见平均引用大约 30 个其他意见,使用自连接表示 A 引用 B、B 引用 C 等。在数据库中,可以从任一方向查询这些。所以你可以说:
该意见引用了哪些意见?
或者:
引用了哪些观点?
两者的平均数相同,因为一个与另一个相反。但范围差异很大。在第一种情况下,大多数意见最多有 100 次外向引用其他意见,平均约为 30 次。
在第二种情况下,some opinions have nearly 30,000 inbound citations,因为它们被引用了很多次。 (而且这个数字每天都在增长!)
我需要做的是索引项目,以便它们可以通过以下方式查询:
cited_by:23
(大约 30 个结果,通常最多 100 个左右。)
或者:
cites:23
(0 到大约 30,000 个结果)
我很确定我需要为此使用多值字段。但我的问题是:
-
我只想从
cites方向索引它。也就是说,我不想从我的数据库中提取 30k 个项目来索引单个项目,并且我不想每次重新引用该项目时都更新它,这种情况每天都会发生很多次。 我希望能够从任一方向查询此内容。事实上,能够查询
cited_by比查询cites更有用,因为获得最近的引用列表 一个意见是相当不可思议的.在 Solr 中进行自联接时是否有任何技巧需要了解?我猜它甚至不知道这个概念?
【问题讨论】:
标签: solr many-to-many schema data-modeling self-join