使用 SolrJ 从 Java 调用 Solr
您可以直接在 URL 中指定 Core。
HttpSolrServer server = new HttpSolrServer("http://localhost:8080/solr/my_core");
SolrQuery solrQuery = new SolrQuery();
solrQuery.setQuery(q);
solrQuery.setStart(start);
solrQuery.setRows(rows);
QueryResponse response = server.query(solrQuery);
HttpSolrServer
可重复用于更多查询。
Solr 服务器和 SolrJ 之间的通信通过 HTTP 以自定义二进制格式进行。您可以浏览 Solr Web Adminhttp://localhost:8080/solr
吗?根据您的安装,您可能需要调整端口(Tomcat 上默认为 8080,jetty 使用 8983)。
此外,您是使用通用名称部署 Solr 还是包含版本?比你的网址http://localhost:8080/solr-4.2.1/my_core
依赖项
这些是使用 SolrJ 所需的最低依赖项。如果您使用的是 maven,请将这些添加到您的 pom.xml。
<dependency>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
<version>4.2.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
如果您不使用 maven,则需要以下 jars:
- solr-solrj-4.2.0
- 动物园管理员-3.4.5
- commons-io-2.1
- httpclient-4.2.3
- httpcore-4.2.2
- commons-codec-1.6
- httpmime-4.2.3
- wstx-asl-3.2.3
- slf4j-simple-1.5.6
- slf4j-api-1.7.2
- 公共日志记录-1.1.1