以下是一个示例代码,展示如何使用Apache Solr进行文本搜索:
首先,你需要添加solr-core和solr-solrj的依赖到你的项目中。你可以在Maven的pom.xml文件中添加以下依赖:
org.apache.solr
solr-core
8.10.1
org.apache.solr
solr-solrj
8.10.1
接下来,你需要创建一个SolrClient对象来与Solr服务器进行通信。你可以使用HttpSolrClient
类来创建一个基于HTTP的Solr客户端。
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
public class SolrSearchExample {
private static final String SOLR_URL = "http://localhost:8983/solr/my_core";
public static void main(String[] args) throws Exception {
// 创建 Solr 客户端
SolrClient solrClient = new HttpSolrClient.Builder(SOLR_URL).build();
// 设置搜索关键字
String keyword = "example";
// 创建查询对象
SolrQuery query = new SolrQuery();
query.set("q", keyword);
// 设置要返回的字段
query.setFields("title", "content");
// 执行查询
QueryResponse response = solrClient.query(query);
// 处理查询结果
SolrDocumentList results = response.getResults();
for (SolrDocument document : results) {
System.out.println("Title: " + document.getFieldValue("title"));
System.out.println("Content: " + document.getFieldValue("content"));
System.out.println();
}
// 关闭 Solr 客户端
solrClient.close();
}
}
在上面的示例中,我们首先创建了一个HttpSolrClient
对象,并指定了Solr服务器的URL。然后,我们设置了要搜索的关键字,并创建了一个SolrQuery
对象来定义查询。我们还通过setFields
方法指定了要返回的字段。接下来,我们使用solrClient.query
方法执行查询,并通过getResults
方法获取查询结果。最后,我们遍历查询结果并打印字段值。
请注意,你需要将SOLR_URL
替换为你实际的Solr服务器URL,并确保你的Solr服务器已经启动,并且已经创建了my_core
的核心。
这只是一个简单的示例,你可以根据你的需求进行更复杂的查询和操作。有关更多Solr的使用方法和功能,请参考Solr的官方文档。