在URL中指定碎片时,分布式请求应该发送到哪个SOLR服务器?

在URL中指定碎片时,分布式请求应该发送到哪个SOLR服务器?,solr,sharding,Solr,Sharding,我正在用SOLR中的碎片设置分布式搜索 我应该将此请求发送到哪个服务器?还是没关系 主机1:8983/solr/core?q=:&shards=host1:8983/solr/core,host2:8983/solr/core vs 主机2:8983/solr/core?q=:&shards=host1:8983/solr/core,host2:8983/solr/core 类似地,使用一个单独的空solr服务器来引导这些搜索,而不是使用其中一个碎片,这是一个更好的主意吗?除非您看到性能问题,否

我正在用SOLR中的碎片设置分布式搜索

我应该将此请求发送到哪个服务器?还是没关系

主机1:8983/solr/core?q=:&shards=host1:8983/solr/core,host2:8983/solr/core

vs

主机2:8983/solr/core?q=:&shards=host1:8983/solr/core,host2:8983/solr/core


类似地,使用一个单独的空solr服务器来引导这些搜索,而不是使用其中一个碎片,这是一个更好的主意吗?

除非您看到性能问题,否则我不会太担心这两者之间的性能差异。无论如何,查询都将在两台服务器上运行,它只是负责将最终结果合并到客户端的另一台服务器。如果您想在两台服务器之间分配此负载,这很好——在这种情况下,我会以循环方式在两台服务器之间交替使用(例如,在前面放置一个HTTP负载平衡器,或者让您的Solr库在可用服务器之间进行负载平衡)

如果您开始将复制副本加入到混合中,这将变得更加困难,负载平衡器将非常有用。在这种情况下,在云模式下研究Solr可能是一个好主意,Solr将透明地为您处理所有这些(负载平衡和副本平衡,只要您的库知道)