我已经设置了一个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上找到的
2条答案
按热度按时间fcy6dtqo1#
您可以使用
Solr开始支持多分片的分布式连接查询:http://www.kmwllc.com/index.php/2020/07/15/the-cross-collection-join-query/
mzsu5hc02#
但Solr并不支持这一点。An issue已经创建,但同时,如果您可以将任何一组文档减少到自己的集合(例如单独的
sf_meta_class:Books
),Solr确实支持跨集合的连接。需要注意的是,您需要确保较小的集合没有分片,并且存在于每个节点上。