欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Solr使用总结

发布时间:2024/8/26 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Solr使用总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 先记录下实例

配置文件

spring.data.solr.host=http://localhost:8983/solr

maven依赖 <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-solr</artifactId><version>${spring.data.solr.version}</version> </dependency>

 



 

/*** @Author: liuxs* @Description: 通过solr检索银行信息* @Date: Create in 18:28 2018/7/30.*/ @Service public class BankSolrService {@Autowiredprivate BankRepository bankRepository;@Autowiredprivate SolrClient solrClient;public List<BankBranch> queryBranch(QueryBankBean queryBean) throws Exception {List<BankBranch> bankBranches = new ArrayList<>();QueryResponse response = solrClient.query("my_core", convertQuery(queryBean));SolrDocumentList results = response.getResults();// 数量,分页用long total = results.getNumFound();for (SolrDocument document : results) {bankBranches.add(covertBankBranch(document));}return bankBranches;}/*** 整合检索参数* @param queryBean* @return* todo 硬编码抽出*/public SolrQuery convertQuery(QueryBankBean queryBean) {SolrQuery solrQuery = new SolrQuery();if (StringUtils.isEmpty(queryBean.getBankName())) {throw new RuntimeException("银行名称不能为空");}if (StringUtils.isEmpty(queryBean.getBranchName())) {throw new RuntimeException("银行支行名称不能为空");}String bankCode = bankRepository.findBankCodeByAliasName(queryBean.getBankName());solrQuery.setQuery("branchName=" + queryBean.getBankName() + queryBean.getBranchName());solrQuery.addFilterQuery("bankCode=" + bankCode);//分页,默认10条每页 solrQuery.setRows(queryBean.getSize());if (StringUtils.isEmpty(queryBean.getPage())) {solrQuery.setStart(0);} else {solrQuery.setStart(queryBean.getPage() * solrQuery.getRows());}return solrQuery;}/*** Document To Object* @param d* @return*/private BankBranch covertBankBranch(SolrDocument d) {BankBranch branch = new BankBranch();branch.setRelateCode(d.containsKey("relateCode") ? String.valueOf(d.get("relateCode")) : "");branch.setBranchName(d.containsKey("branchName") ? String.valueOf(d.get("branchName")) : "");branch.setBankCode(d.containsKey("bankCode") ? String.valueOf(d.get("bankCode")) : "");branch.setBankName(d.containsKey("bankName") ? String.valueOf(d.get("bankName")) : "");branch.setProvinceCode(d.containsKey("provinceCode") ? String.valueOf(d.get("provinceCode")) : "");branch.setProvinceName(d.containsKey("provinceName") ? String.valueOf(d.get("provinceName")) : "");branch.setCityCode(d.containsKey("cityCode") ? String.valueOf(d.get("cityCode")) : "");branch.setCityName(d.containsKey("cityName") ? String.valueOf(d.get("cityName")) : "");return branch;}}

 

转载于:https://www.cnblogs.com/liuxs13/p/9406087.html

总结

以上是生活随笔为你收集整理的Solr使用总结的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。