solr join vs lucene join

时间:2014-01-31 12:57:05

标签: join solr lucene

我试图找出Solr加入与Lucene连接的比较。具体来说,如果Lucene加入在JOIN操作期间使用任何过滤器缓存。我查看了代码,似乎在QParser中有一个对缓存的引用,但我不确定它是否是一个过滤器缓存。如果有人对此有任何经验,请分享,或者请告诉我如何才能找到它。

Solr加入wiki

  

“from”加入的文档的字段或其他属性不可用于处理生成的“to”文档集(即:您不能返回“from”文档中的字段,就好像它们是“到”文件上的多值字段。

我发现很难理解solr join的上述限制,是否意味着与传统的RDMS连接不同,它们可以包含来自TO和FROM字段的列,solr连接只包含来自TO文档的字段?我的理解是否正确?如果是,那为什么会出现这种限制?

此外,在得分方面也存在一些差异,并且维基说

  

Join查询为所有匹配的文档生成常量分数 - 嵌套查询为“from”文档计算的分数无法用于评分“to”文档

这是否意味着子查询的分数不可用于主查询?如果是这样,为什么solr得分采用这种方法?

如果从Lucene join转到Solr时还有其他值得考虑的差异,请分享。

1 个答案:

答案 0 :(得分:0)

这篇文章很老了,但我跳了起来。对不起,如果它不再活动了。 说实话,避免solr / lucene上的连接策略要好得多。你必须将对象视为一个整体,加入是一个非常接近SOLR的哲学的SQL approch。 尽管如此,solr实现了非常有限的连接操作。看看这个非常好的参考join solr lucene!还有关于block join support in solr

的文件