欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用solr进行搜索程序是非常慢的,是什么原因

程序员文章站 2022-06-09 22:34:13
...
public ArrayList getResult(String searchKey) throws Exception{
ArrayList list=new ArrayList();
try {
SolrServer server = new CommonsHttpSolrServer("http://localhost:8080/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
// 查询关键词
params.set("q","goodsname:*"+searchKey+"*");
// 分页,,start=0就是从0开始,rows=5当前返回5条记录,,,第二页就是变化start这个值为5就可以了。
params.set("start",0);
params.set("rows",10);
// 排序,,如果按照id 排序,,那么将score desc 改成 id desc(or asc)
params.set("sort","goodsid desc");
// 返回信息 * 为全部 这里是全部加上score,如果不加下面就不能使用score
params.set("fl","*,goodsid");
QueryResponse response;
response = server.query(params);
// 搜索得到的结果数
System.out.println("Find:"+response.getResults().getNumFound()+"\n\n");
// 输出结果
for (SolrDocument doc : response.getResults()) {
System.out.println("goodsid: "+doc.getFieldValue("goodsid").toString());
System.out.println("goodsname: "+doc.getFieldValue("goodsname").toString()+"\n");
list.add(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}