java操作solr实现查询功能的实例
更新时间:2017年11月17日 08:48:04 作者:菩提树下一参悟
下面小编就为大家分享一篇java操作solr实现查询功能的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一、封装的查询方法
/** * 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实现查询功能的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mybatis-plus QueryWrapper 添加limit方式
这篇文章主要介绍了mybatis-plus QueryWrapper 添加limit方式,具有很好的参考价值,希望对大家有所2022-01-01详解MybatisPlus集成nacos导致druid连接不上数据库
这篇文章主要介绍了详解MybatisPlus集成nacos导致druid连接不上数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11SpringBoot 集成 Jasypt 对数据库加密以及踩坑的记录分享
这篇文章主要介绍了SpringBoot 集成 Jasypt 对数据库加密以及踩坑,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08JDK源码分析之String、StringBuilder和StringBuffer
这篇文章主要给大家介绍了关于JDK源码分析之String、StringBuilder和StringBuffer的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用jdk具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-05-05
最新评论