使用solrj进行分布式搜索?

问题描述:

我可以使用solrj执行分布式搜索吗?如果是这样如何? (注意:不是solr)使用solrj进行分布式搜索?

我在这方面没有找到任何文档。请帮助我,如果你发现任何/使用过此之前。

假设你的碎片是:

“本地主机:8983/Solr的” 和 “本地主机:7574/Solr的”

您可以用solrj像执行分布式搜索:

String shards = "localhost:8983/solr,localhost:7574/solr"; 
StringBuffer request = new StringBuffer(); 
request.append("&q=" + query); 
request.append("&shards=" + shards); 
SolrParams solrParams = SolrRequestParsers.parseQueryString(request 
       .toString()); 
QueryResponse rsp = server.query(solrParams); 

或者,您可以使用ModifiableSolrParams类:

String shards = "localhost:8983/solr,localhost:7574/solr"; 
ModifiableSolrParams solrParams = new ModifiableSolrParams(); 
solrParams.set("q", query); 
solrParams.set("shards", shards); 
QueryResponse rsp = server.query(solrParams); 
+0

但是使用solr4j意味着您需要有一个HttpSolrC在这种情况下,我认为是服务器。你如何创建它? (我有solr 5.3.0) – Eszter 2015-12-28 11:24:49