第四步 eclipse实现solr客户端
1、创建solr客户端:
先导入包,把apache-solr-4.0.0\dist下的apache-solr
-dataimporthandler-4.0.0.jar 和 apache-solr-dataimporthandler-extras-4.0.0.jar复制到
WebRoot\WEB-INF\lib下
或是pom.xml文件添加
<!-- -搜索依赖 --> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>4.7.2</version> </dependency>
2、创建一个SolrJSearcheDemo类
import java.net.MalformedURLException; import org.apache.solr.client.solrj.SolrQuery; 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.SolrDocument; import org.apache.solr.common.SolrDocumentList; public class SolrJSearcheDemo { /** * Solr访问地址 */ private static final String SOLR_URL ="http://localhost:8080/solr/"; // 通过网络地址获取SolrServer对象 public SolrServer getSolrServer() throws MalformedURLException { return new HttpSolrServer(SOLR_URL); } // 查询方法 public void search(String key) throws MalformedURLException{ SolrServer solrServer = getSolrServer(); // 查询对象 SolrQuery query = new SolrQuery(key); query.setQuery(key); try { query.setHighlight(true) //设置开头 .setHighlightSimplePre("<span class=’highlight’>") .setHighlightSimplePost("</span>") //设置结尾 .setStart(0) .setRows(10);//设置行数 //设置高亮的哪些区域 query.setParam("hl.fl", "content"); QueryResponse response=solrServer.query(query); SolrDocumentList list=response.getResults(); System.out.println("高亮显示:"); for(SolrDocument sd:list){ String id=(String) sd.getFieldValue("id"); if(response.getHighlighting().get(id)!=null){ System.out.println(response.getHighlighting().get(id).get("content")); } } System.out.println("——————————————"); SolrDocumentList docs = response.getResults(); System.out.println("文档个数:" + docs.getNumFound()); System.out.println("查询时间:" + response.getQTime()); System.out.println("——————————————–"); for (SolrDocument doc : docs) { // 获取查询返回结果 String id = doc.getFieldValue("id").toString(); String title = doc.getFirstValue("title").toString(); String content = doc.getFirstValue("content").toString(); // 打印查询结果 System.out.println("编号:"+id); System.out.println("标题:"+title); System.out.println("内容: "+content); System.out.println("—————————————-"); } } catch (SolrServerException e) { e.printStackTrace(); } } public static void main(String[] args) throws MalformedURLException { // 创建一个SolrJSearcheDemo对象 SolrJSearcheDemo sj = new SolrJSearcheDemo(); // 查询条件 String Query ="生活"; // 调用查询方法 sj.search(Query); } }
本文出自 “江山如画待赢归” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。