一种基于solr的信息检索的方法以及装置制造方法及图纸

技术编号:17779841 阅读:35 留言:0更新日期:2018-04-22 08:25
本发明专利技术实施例公开了一种基于solr的信息检索的方法以及装置,接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。在本发明专利技术中重点在于规避过多的索引文件加载,应用空间局部性原理,保障有效利用系统资源,提升信息检索性能。

【技术实现步骤摘要】
一种基于solr的信息检索的方法以及装置
本专利技术实施例涉及信息检索的
,尤其涉及一种基于solr的信息检索的方法以及装置。
技术介绍
随着大数据行业逐步应用到各行业,海量数据的查询遇到前所未有的挑战。在大数据领域,保障高并发、高性能、高存储等多因素要求的只有类似hbase等nosql数据库。但是,hbase数据库只能按照rowkey进行查询,在保障性能、并发、存储等因素的前提下,无法满足业务需求的多变性。Rowkey的设计和具体业务具有强依赖性。在二级索引的层次化设计中,存在一种以solr检索引擎作为查询入口,以hbase作为存储的架构设计模式。解决了hbase的rowkey约束性过强的问题。在传统solr的使用方法中,采用相关度缺省排序,在使用相关度原理排序的前提下,必然要求solr搜索引擎加载所有索引文件并对打分。在海量数据模式下,造成索引文件读取频繁,系统内存过渡频繁回收,cpu利用率过高,系统负载长期处于警戒上线,致使整体查询性能、并发能力无法得到有效提升。尤其,在对solr数据横向分表的情况下,表的个数直接决定并发线程数。更有甚者,solr集群节点频繁掉点,造成系统功能无法正常使用。从传统solr的使用过程中可以看出。过多的索引文件加载是导致性能、并发无法得到有效提升的根本原因。
技术实现思路
本专利技术实施例的目的在于提出一种基于solr的信息检索的方法以及装置,旨在提高信息检索效率的问题。为达此目的,本专利技术实施例采用以下技术方案:第一方面,一种基于solr的信息检索的方法,所述方法包括:接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。可选地,所述分布式查询控制,包括:在索引写入中,采用哈希方式将数据均匀分配到表的各个分片上;在时间维度上,每个分片的写入数据总量近似相等。可选地,所述查询超时控制,包括:若Solr缺省,则设定超时时间;开启定时器,执行计时,执行查询;判断执行时间;若查询超时,则打断查询;若查询未超时,则执行完整查询。可选地,所述段文件逆向加载,包括:采用横向分表进行数据横向的物理隔离,同时,按照数据写入数据、读取数据,采用加载最新表的数据并依据数据读取打断进行数据查询;在solr的内部缺省处理控制逻辑中,采用从小到大的顺序进行段文件加载,并通过扩展solr缺省实现接口,完成从大到小的顺序加载段文件。可选地,所述数据读取打断,包括:定义收集器的命中条数,在循环收集文档的过程中,拦截判断是否已经满足定义的期望个数;如果满足,则执行打断控制,直接响应所述请求,避免继续扫描下一个段文件。可选地,所述倒排表逆向加载,包括:在文档收集过程中,采用优先级最小堆队列技术并定义队列大小,每条满足的记录都放入队列中,通过优先级算法实现数据的进和出;在扫描一个段之后,如果满足记录条数,则直接返回;如果没有满足记录条数,则继续扫描下一个段,直至满足设定的期望个数位置。可选地,所述执行自定义标准评分,包括:在没有应用打分的前提下,通过自定义相似度、权重或者打分对solr的打分进行扩展,并通过单例模式进行管理。第二方面,一种基于solr的信息检索的装置,所述装置包括:解析模块,用于接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;启动模块,用于启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;加载模块,用于采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。可选地,所述启动模块,具体用于:在索引写入中,采用哈希方式将数据均匀分配到表的各个分片上;在时间维度上,每个分片的写入数据总量近似相等;若Solr缺省,则设定超时时间;开启定时器,执行计时,执行查询;判断执行时间;若查询超时,则打断查询;若查询未超时,则执行完整查询。可选地,所述加载模块,具体用于:采用横向分表进行数据横向的物理隔离,同时,按照数据写入数据、读取数据,采用加载最新表的数据并依据数据读取打断进行数据查询;在solr的内部缺省处理控制逻辑中,采用从小到大的顺序进行段文件加载,并通过扩展solr缺省实现接口,完成从大到小的顺序加载段文件;所述数据读取打断,包括:定义收集器的命中条数,在循环收集文档的过程中,拦截判断是否已经满足定义的期望个数;如果满足,则执行打断控制,直接响应所述请求,避免继续扫描下一个段文件;在文档收集过程中,采用优先级最小堆队列技术并定义队列大小,每条满足的记录都放入队列中,通过优先级算法实现数据的进和出;在扫描一个段之后,如果满足记录条数,则直接返回;如果没有满足记录条数,则继续扫描下一个段,直至满足设定的期望个数位置;在没有应用打分的前提下,通过自定义相似度、权重或者打分对solr的打分进行扩展,并通过单例模式进行管理。本专利技术实施例的有益效果为:在本专利技术中重点在于规避过多的索引文件加载,应用空间局部性原理,保障有效利用系统资源,提升信息检索性能。附图说明图1是本专利技术实施例提供的一种基于solr的信息检索的方法的流程示意图;图2是本专利技术实施例提供的一种基于solr的信息检索的装置的功能模块示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。参考图1,图1是本专利技术实施例提供的一种基于solr的信息检索的方法的流程示意图。如图1所示,所述方法包括:步骤110,接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;步骤120,启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;其中,所述分布式查询控制,包括:在索引写入中,采用哈希方式将数据均匀分配到表的各个分片上;在时间维度上,每个分片的写入数据总量近似相等。示例性的,在索引写入过程中,采用hash方式将数据均匀分配到表的各个分片上的。在时间维度上,每个分片的写入数据总量近似相等。至此,对于读取过程采用逆过程,将每一个查询的行数平均分配到各个分片上,每个分片只读取1/rows个记录条数(需要向上四舍五入)。通过上述手段,确保各个分片查询的记录相对更少,在网络中传输的数据量更小。大大提高查询性能并减少资源消耗。所述查询超时控制,包括:若Solr缺省,则设定超时时间;开启定时器,执行计时,执行查询;判断执行时间;若查询超时,则打断查询;若查询未超时,则执行完整查询。示例性的,Solr缺省情况下,支持单纯的超时控制,通过设定超时时间,确保服务端的有效利用,在本专利技术中,结合行打断、倒排读取等诸多因素的考量下,扩展其功能,实现超时、打断结合,在超时、打断双向控制。在行打断和超时打断的双重控制下,保证存在有效查询数据。步骤130,采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。其中,所述段文件逆向加载,包括:采用横向分表进行数据横向的物理隔离,同时,按照数据写入数据、读取数据,采用加载最新表本文档来自技高网...
一种基于solr的信息检索的方法以及装置

【技术保护点】
一种基于solr的信息检索的方法,其特征在于,所述方法包括:接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。

【技术特征摘要】
1.一种基于solr的信息检索的方法,其特征在于,所述方法包括:接收信息检索的请求,并获取所述请求中的参数,解析并识别所述参数;启动分布式查询控制,并根据触发条件启动行打断控制或者查询超时控制;采用段文件逆向加载和倒排表逆向加载的方式加载数据,执行自定义标准评分,并响应所述请求。2.根据权利要求1所述的方法,其特征在于,所述分布式查询控制,包括:在索引写入中,采用哈希方式将数据均匀分配到表的各个分片上;在时间维度上,每个分片的写入数据总量近似相等。3.根据权利要求1所述的方法,其特征在于,所述查询超时控制,包括:若Solr缺省,则设定超时时间;开启定时器,执行计时,执行查询;判断执行时间;若查询超时,则打断查询;若查询未超时,则执行完整查询。4.根据权利要求1所述的方法,其特征在于,所述段文件逆向加载,包括:采用横向分表进行数据横向的物理隔离,同时,按照数据写入数据、读取数据,采用加载最新表的数据并依据数据读取打断进行数据查询;在solr的内部缺省处理控制逻辑中,采用从小到大的顺序进行段文件加载,并通过扩展solr缺省实现接口,完成从大到小的顺序加载段文件。5.根据权利要求4所述的方法,其特征在于,所述数据读取打断,包括:定义收集器的命中条数,在循环收集文档的过程中,拦截判断是否已经满足定义的期望个数;如果满足,则执行打断控制,直接响应所述请求,避免继续扫描下一个段文件。6.根据权利要求4所述的方法,其特征在于,所述倒排表逆向加载,包括:在文档收集过程中,采用优先级最小堆队列技术并定义队列大小,每条满足的记录都放入队列中,通过优先级算法实现数据的进和出;在扫描一个段之后,如果满足记录条数,则直接返回;如果没有满足记录条数,则继续扫描下一个段,直至满足设定的期望个数位置。7.根据权利要求1所述的方法,其特征在于,所述执行自定义标准评分,包括:...

【专利技术属性】
技术研发人员:谢永恒孟宪奎火一莽万月亮
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1