SolrJ解析MoreLikeThis查询结果

2024-01-14 18:32

本文主要是介绍SolrJ解析MoreLikeThis查询结果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接上代码:

 

/*** 解析MoreLikeThis* @author  likehua* */public List<SolrDocument>  parseMoreLikeThis(QueryResponse response){List<SolrDocument> lst=new ArrayList<SolrDocument>();SimpleOrderedMap res= (SimpleOrderedMap) response.getResponse().get("moreLikeThis");for(int i=0;i<res.size();i++){Object o=res.getVal(i);if(o instanceof SolrDocumentList){SolrDocumentList items=(SolrDocumentList) o;for(SolrDocument d:items){if(d!=null){lst.add(d);}}}}return lst;}/*** MoreLikeThis查询* @author  likehua* */public  List<Index> getLikeResult(String param){List<Index> likes = new ArrayList<Index>();String strQuery = "";if(param != null && param.length()>0){Pattern pt = Pattern.compile("\\s+");Matcher mc = pt.matcher(param.trim());String strParam = mc.replaceAll(","); strQuery = "geo_name:"+strParam+ " OR geo_summary:"+strParam;		}else{strQuery = "*:*";}try {SolrQuery likeQuery = new SolrQuery(strQuery);likeQuery.setParam("mlt", "true").setParam("mlt.fl", "geo_name,geo_summary").setParam("mlt.count", "1");						QueryResponse response = SolrServer.getServer().query(likeQuery);List<SolrDocument> responseList=parseMoreLikeThis(response);//SimpleOrderedMap res=  (SimpleOrderedMap) response.getResponse().get("moreLikeThis");for(SolrDocument sd:responseList) {String name = (String)sd.getFieldValue("geo_name");Index index = new Index();index.setLike(name);likes.add(index);}} catch (SolrServerException e) {// TODO Auto-generated catch blocke.printStackTrace();}	return likes;		}

 

这篇关于SolrJ解析MoreLikeThis查询结果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/606111

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

全面解析Golang 中的 Gorilla CORS 中间件正确用法

《全面解析Golang中的GorillaCORS中间件正确用法》Golang中使用gorilla/mux路由器配合rs/cors中间件库可以优雅地解决这个问题,然而,很多人刚开始使用时会遇到配... 目录如何让 golang 中的 Gorilla CORS 中间件正确工作一、基础依赖二、错误用法(很多人一开

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

MySQL CTE (Common Table Expressions)示例全解析

《MySQLCTE(CommonTableExpressions)示例全解析》MySQL8.0引入CTE,支持递归查询,可创建临时命名结果集,提升复杂查询的可读性与维护性,适用于层次结构数据处... 目录基本语法CTE 主要特点非递归 CTE简单 CTE 示例多 CTE 示例递归 CTE基本递归 CTE 结

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分