java操作solr实现查询功能的实例

网友投稿 346 2023-03-16


java操作solr实现查询功能的实例

一、封装的查询方法

/**

* solr查询方法

* @param clieQjmTgPpZont solr客户端

* @param query solr查询对象

* @return list集合

* @throws SolrServerException

* @throws IOException

*/

public static List> getSolrQuery(HttpSolrClient client, SolrQuery query) throws SolrServerException, IOException{

List> 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 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> list = getSolrQuery(hsc, query);

if(list == null) {

System.out.println("未查询到任何结果");

return;

}

for (Map map : list) {

Iterator 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实现查询功能的实例就是分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java阿里短信接口开发(阿里短信接口的使用)
下一篇:浅谈java中String的两种赋值方式的区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~