2

连接被描述为伪连接,因为它更等同于 SQL 内部查询。而 BlockJoin被描述为更像 SQL 连接,但需要复杂的索引模式,它可以预测您想要进行的所有可能的连接。有人可以根据如何在索引时间和查询时间实现它们来解释这些功能之间的区别。对性能有何影响?

4

2 回答 2

0

我不认为 blockjoinquery 是 Solr 函数。我认为它的Lucene功能。

solr 连接不会对 from 查询中的文档进行评分,也不会返回组合结果。所以它最好用作过滤查询。这将允许主 query.to 得分。

另一方面,块连接确实使用评分并返回两个结果。(不是 100% 肯定)

您还可以使用查询时间连接。这有薮计分选项。这也是 lucene 的一项功能,但不需要特殊的索引块。我已经将它与 solr 查询解析器插件结合使用。性能比blockjoin低一点,但它可以工作。

我只使用过 solr join 和 querytimejoin 所以我不能对 blockjoin 说太多。

于 2013-04-08T16:34:22.190 回答
0

据我了解,BlockJoin 用于加入同一核心内的嵌套/子文档。加入是为了加入一个单独的核心。

于 2014-12-16T23:10:20.320 回答