[英]In Lucene/Solr what is the difference between Join and BlockJoin?
联接被描述为伪联接,因为它更等效于SQL内部查询。 尽管BlockJoin 被描述为更像SQL连接,但需要复杂的索引架构,但该架构可以预期您要进行的所有可能的连接。 有人可以解释如何在索引时间和查询时间实现这些功能之间的区别。 对性能有什么影响?
我不认为blockjoinquery是Solr函数。 我认为它的Lucene功能。
solr联接不会对from查询中的文档进行评分,并且不会返回合并的结果。 因此,最好将其用作过滤器查询。 这将允许主query.to得分。
另一方面,Block Join确实使用评分并返回两个结果。(不是100%确定)
您还可以使用querytime连接。 这具有服务评分选项。 这也是一个Lucene功能,但不需要特殊的索引块。 我已经将其与solr查询解析器插件结合使用。 与blockjoin相比,性能要低一些,但可以。
我只使用了solr join和querytimejoin,所以我不能说太多关于blockjoin的内容。
据我了解,BlockJoin用于连接同一核心内的嵌套/子文档。 联接用于联接到单独的核心。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.