|
1、创建solr客户端:
先导入包,把apache-solr-4.0.0dist下的apache-solr
-dataimporthandler-4.0.0.jar 和 apache-solr-dataimporthandler-extras-4.0.0.jar复制到
WebRootWEB-INFlib下
或是pom.xml文件添加
org.apache.solr
solr-solrj
4.7.2
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("")
.setHighlightSimplePost("") //设置结尾
.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);
}
}
|
|
|
|
|
|
|