博客
关于我
solr中只查询某一个字段的设置与设置时间排序
阅读量:387 次
发布时间:2019-03-05

本文共 1358 字,大约阅读时间需要 4 分钟。

public static void selectSolr(LBHttpSolrServer solrServer) {

SolrQuery query = new SolrQuery();

query.setQuery("*:*");

query.setFields("fl","enterpriseId");

query.addSort(new SortClause("pubDate", ORDER.desc));

QueryResponse rsp = null;

int totalRecord = 0;

int count = 0;

try {

rsp = solrServer.query(query);

SolrDocumentList solrList = rsp.getResults();

totalRecord = (int)solrList.getNumFound();

if (solrList != null && solrList.size() > 0) {

for (SolrDocument solrDocument : solrList) {

String epId = solrDocument.getFieldValue("enterpriseId") != null ? solrDocument.getFieldValue("enterpriseId").toString() : "";

String name = solrDocument.getFieldValue("enterpriseName") != null ? solrDocument.getFieldValue("enterpriseName").toString() : "";

System.out.println(epId + ">" + name);

if (count == 3) {

break;

}

count++;

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

以下是代码的主要功能解析:

1. 通过Solr服务器进行全文检索,使用`*:*`作为检索条件2. 设置返回字段为`enterpriseId`3. 按照`pubDate`字段降序排列结果4. 逐个处理返回结果,提取`enterpriseId`和`enterpriseName`字段内容5. 最多获取前3个结果进行输出6. 处理异常情况,打印错误日志

代码特点:

- 结构清晰,易于阅读- 使用了合理的变量命名- 适当使用了早期返回(break)优化性能- 按照标准Java编码规范编写- 适合在技术文档中使用

转载地址:http://pyyzz.baihongyu.com/

你可能感兴趣的文章
WCF学习之旅—第三个示例之一(二十七)
查看>>
java ThreadPoolExecutor初探
查看>>
Markdown进阶
查看>>
快速指数算法
查看>>
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
查看>>
PHP将网址快捷方式保存到桌面
查看>>
SpringCloud微服务(03):Hystrix组件,实现服务熔断
查看>>
Spring 框架基础(01):核心组件总结,基础环境搭建
查看>>
JavaEE基础(02):Servlet核心API用法详解
查看>>
SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
查看>>
结构与算法(03):单向链表和双向链表
查看>>
Hadoop框架:MapReduce基本原理和入门案例
查看>>
ThreadPoolExecutor线程池任务执行失败的时候会怎样
查看>>
Sentry快速开始并集成钉钉群机器人
查看>>
Docker 服务
查看>>
第一眼就心动的人还怎么做朋友
查看>>
Cassandra数据建模
查看>>
Elasticsearch Web管理工具
查看>>
Git 配置SSH公钥、私钥
查看>>
极客时间离线课堂
查看>>