嗨,我正在为 solrj 开发几个示例程序,但我无法确定我是否正确连接。这是我的代码
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
import java.net.MalformedURLException;
public class SolrExample {
public static void main(String[] args) throws MalformedURLException, SolrServerException {
//SolrServer solr = new CommonsHttpSolrServer("localhost:8983/solr");
SolrServer server = new HttpSolrServer("localhost:8983/solr/");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("qt", "/spellCheckCompRH");
params.set("q", "epod");
params.set("spellcheck", "on");
params.set("spellcheck.build", "true");
QueryResponse response = server.query(params);
System.out.println("response = " + response);
}
}
上面代码的输出是: {时间=219.0,sub1={时间=125.0,sub1.1={时间=0.0}}}
另一方面,如果我使用这个:
SolrServer solr = new CommonsHttpSolrServer("localhost:8983/solr");
据说已经被废弃了..
我很困惑,因为我可以通过本地主机访问计算机中的 solr 管理员,但我不能在我的程序中访问..
如果有人能提供帮助,非常感谢
最佳答案
对于 Solrj 4.x,您必须使用 HttpSolrServer:
SolrServer solrServer = new HttpSolrServer("http://localhost:8983/solr ");
或“http://localhost:8983/solr/solrCoreName”奖励,对于 Solr Cloud,您可以将 CloudSolrServer 与 Apache ZooKeeper 的 url 参数一起使用:
SolrServer cloudSolrServer = new CloudSolrServer("htt p://localhost:2181");
查看 Apache Solr wiki 页面以获取更多信息:wiki.apache.org/solr/FrontPage
关于java - java中的solrj连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17804006/