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