SolrCloud是否支持分片之间的Join查询?

xu3bshqb  于 12个月前  发布在  Solr
关注(0)|答案(2)|浏览(113)

我已经设置了一个SolrCloud,有2个节点,2个分片和2个副本。我的Join查询在一个solr示例中运行良好,但它在这个SolrCloud设置中存在一些问题。

fq = {!join from=student_id_i to=student_id_i} sf_Meta_class:学生
q = sf_Meta_class:书籍

我想主要的问题是分片部分,因为我得到了几乎(不完全)一半的结果集,而不是整个结果集。我做错什么了吗?或者Solr从来不支持多个分片的Join查询?
我试着像这样将分片显式地放在搜索查询上:
http://localhost:8983/solr/core1/select?shards=solr1:8983/solr/core1,solr2:8983/solr/core1&indent=true&q=ipod+solr
但我还是不喜欢。

**编辑:**显然SolrCloud不会在Shards中加入查询。在https://cwiki.apache.org/confluence/display/solr/SolrPerformanceProblems上找到的

fcy6dtqo

fcy6dtqo1#

您可以使用

fq = {!join method="crossCollection" fromIndex="yourCollection" from=student_id_i to=student_id_i}

Solr开始支持多分片的分布式连接查询:http://www.kmwllc.com/index.php/2020/07/15/the-cross-collection-join-query/

mzsu5hc0

mzsu5hc02#

但Solr并不支持这一点。An issue已经创建,但同时,如果您可以将任何一组文档减少到自己的集合(例如单独的sf_meta_class:Books),Solr确实支持跨集合的连接。需要注意的是,您需要确保较小的集合没有分片,并且存在于每个节点上。

相关问题