solrj 怎么样把查询数据返回到前端

 我来答
就烦条0o
2016-12-05 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46491
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
1、首先,我比较懒。我把 apache-solr-3.6.1/dist 目录下所有的包导入到了工程中,除了war包。

2、下面来看看代码,里面都有注释,其它就不多说了

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
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 SolrJUtils {

private static final String baseURL = "http://192.168.241.128:8080/solr";// solr服务器url
private static SolrServer solrServer = new HttpSolrServer(baseURL);

public static void search() {
SolrQuery params = new SolrQuery();
// 查询关键词,*:*代表所有属性、所有值,即所有index
// params.set("q", "*:*");
params.set("q", "nickname:chm*");// 查询nickname是已chm开头的数据

// 分页,start=0就是从0开始,,rows=5当前返回5条记录,第二页就是变化start这个值为5就可以了。
params.set("start", 0);
params.set("rows", 5);

// 按nickname排序,asc升序 desc降序
params.set("sort", "nickname asc");

try {
QueryResponse rsp = solrServer.query(params);
SolrDocumentList docs = rsp.getResults();
System.out.println("文档个数:" + docs.getNumFound());
System.out.println("查询时间:" + rsp.getQTime());
for (SolrDocument doc : docs) {
String name = (String) doc.getFieldValue("nickname");
System.out.println(name);
}
} catch (Exception e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
SolrJUtils.search();//实际应用过程中可以根据自身需要传参
}
}

好了,一般开发都是用查询功能的,索引的更新基本上都是使用
crond。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式