java操作solr实现查询功能的实例
程序员文章站
2023-12-18 14:51:34
一、封装的查询方法
/**
* solr查询方法
* @param client solr客户端
* @param query solr查询对象
* @r...
一、封装的查询方法
/** * solr查询方法 * @param client solr客户端 * @param query solr查询对象 * @return list集合 * @throws solrserverexception * @throws ioexception */ public static list<map<string, object>> getsolrquery(httpsolrclient client, solrquery query) throws solrserverexception, ioexception{ list<map<string, object>> list = null; //执行查询并返回结果 queryresponse resp = client.query(query); solrdocumentlist results = resp.getresults(); //获取查询到的数据总量 long numfound = results.getnumfound(); //判断总量是否大于0, if(numfound <= 0) { //如果小于0,表示未查询到任何数据,返回null return null; }else { //如果大于0,表示有数据 //创建list存储每条数据 list = new arraylist<>(); //遍历结果集 for (solrdocument doc : results) { //得到每条数据的map集合 map<string, object> map = doc.getfieldvaluemap(); //添加到list list.add(map); } //返回list集合 return list; } }
二、主函数
public static void main(string[] args) throws solrserverexception, ioexception { //创建solr客户端连接 httpsolrclient hsc = new httpsolrclient.builder(solr_url).build(); //创建查询对象 solrquery query = new solrquery(); //设置查询全部数据的条件 //query.setquery("*:*"); query.setquery("id:1"); list<map<string, object>> list = getsolrquery(hsc, query); if(list == null) { system.out.println("未查询到任何结果"); return; } for (map<string, object> map : list) { iterator<string> it = map.keyset().iterator(); while(it.hasnext()) { string key = it.next(); object value = map.get(key); system.out.println(key+"----"+value); } system.out.println("======================================="); }
三、solr_url
//注这是一个人正确的url地址
如果url后边不加表会报如下错误:
以上这篇java操作solr实现查询功能的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。