一种面向实时搜索的缓存方法,属于计算机程序技术领域缓存当前检索结果和后台索引库最大docID,通过仅向后台服务器检索增量部分的数据,缓存检索结果的Top-K结果集及文档最大的docID值。在不造成检索结果延迟的情况下,采用本缓存方法提升了检索结果缓存的命中率,在缓存命中时极大的降低检索过程中的计算量,提升了整个系统的性能和吞吐量。
【技术实现步骤摘要】
本专利技术涉及,属于计算机程序
技术介绍
互联网规模的急剧膨胀,基于Web的电子信息以爆炸式的速度增长。普通用户想在纷繁复杂的海量数据中找到所需的内容如同大海捞针,而搜索引擎正是为了满足广大用户的信息检索需求而诞生。主流的搜索引擎基本结构,如图I所示,包括数据下载子系统、数据预处理子系统、索引子系统、检索子系统、网页库、正向索引库、文档库和倒排索引库。数据采集子系统根据相应的采集策略的,对互联网进行批量或增量的信息扫描,完成网页信息采集。数据预处理子系统对采集到信息进行分析,提取检索项,并统计相应的位置、频率イM息,估算检索项权重。索引子系统按照一定周期,创建新的全局索引文件。检索子系统依据最新静态索引文件完成用户查询的检索服务。为了实现海量数据的检索服务,搜索引擎大量采用分布式计算技术和缓存技木,其中,缓存技术的应用大幅提高检索效率,改善了用户的使用感受。搜索引擎系统按照一定策略对检索过程中产生的最终运算结果或中间计算数据进行存储,降低后续查询的运算负载。文献“ThreeLevel Caching for Efficient Query Processing in Large WebSearch Engines”文献[I][用于大型web搜索引擎高效检索的三层缓存结构设计]对搜索引擎缓存技术进行了分析,提出了基于检索結果、查询项交集结果列表、查询倒排列表的三层缓存方法,如图2所示,目前被广泛采用,并获得非常好的运行效果。文献“NewCaching Techniques for Web Search Engines”[webs搜索引擎新缓存技木]文献[2]在文献[I]的基础上提出増加ー个Top-K (最相关的前K条)结果集docID(文章编号)列表缓存。但M. Marin, V. G. Costa, C. G. Pantoja文献[2]所做的这些改进只适合于静态索引技术创建的索引库,且仍然无法解决对于増量索引所创建的索引库在检索时所存在的缓存问题。本专利技术是參考了 M. Marin, V. G. Costa, C. G. Pantoja文献[2]并做了进ー步的改进来解决采用増量索引技术创建索引库在检索时所存在的缓存问题。随着twitter、facebook等web2. O应用的兴起,人们对于获取实时发布的信息内容越来越感兴趣,对搜索引擎查询的时效性、实时性提出了更高的要求。基于静态索引+缓存技术的搜索引擎架构无法胜任具有强实时特性的信息数据检索,实时搜索技术成为搜索引擎技术的研发热点。目前,已知的实时搜索引擎主要采用增量索引技术,索引库分为磁盘索引和内存索引二部分,同时提供检索服务。内存索引用于实时加载新增的数据,当加载数据达到一定规模时,保存成磁盘索引或者与已有的磁盘索引进行归井。内存索引的引入使得搜索引擎能够支持数据的实时加载。
技术介绍
缺陷 采用增量索引技术后,搜索引擎能够支持数据的实时加载。但,増量索引过程使索引库始终处于不断变化的过程,为了已有的缓存技术性能得到下降。无法发挥的实时实现数据的都具备两个基本特征,一个是大量不间断的增量实时数据,一个是数据变化会实时体现到检索結果,采用现有的检索缓存方法会存在以下问题I、过短的缓存有效期,可缩减检索结果的延迟,但却会造成缓存命中率过低,对后台造成较大压力,失去了缓存的意义。2、过长的缓存有效期,虽提高了命中率,但造成了不必要检索结果延迟,从而失去了检索结果的实时性。
技术实现思路
本专利技术提出了一种基于増量索引技术的检索结果缓存方法,用于解决増量索引技术中采用传统的缓存技术造成检索结果过长的延迟或者命中率过低造成的检索压カ偏大的问题。一种面向实时搜索的缓存技术,缓存当前检索结果和后台索引库最大docID,通过仅向后台服务器检索増量部分的数据,缓存检索结果的Top-K结果集及文档最大的docID 值;计算新增的増量数据,避免在缓存有效期内直接返回缓存結果。一种基于増量索引技术的检索结果缓存方法,含有以下步骤;步骤I、建立基本的索引库结构,由ID (文章编号)对照表、词典和倒排索引组成;其中ID对照表是建立的docID与URLID (url对应的唯一编号)之间的对照关系,URLID是基于所创建索引文档分配的唯一的ID值,docID是索引库为URLID分配的ー个从I开始自增的内部ID ;词典存储的是关键词到倒排索引列表之间的索引关系;倒排索引存储的为docID递增有序的ID列表;步骤2、判断结果缓存中是否存在当前检索串;查询检索串的Top-K结果集,记录当前检索串所命中结果docID列表中的最大docID值;如果缓存中存在当前检索串,仅向后台检索服务器请求查询大于从最大docID开始的结果;将返回结果和已经缓存的Top-k进行归并排序,重新获得新的Top-K结果;将新的Top-k结果和新的最大docID保存在缓存中;如果缓存中不存在当前检索串,向后台检索服务器请求查询全局的Top-K結果,将返回的Top-K结果和最大的docID保存到缓存中;最后,返回Top-K结果集完成检索。本专利技术的效果提高实时检索应用环境下,缓存的命中率和缓存数据的利用价值,有效提闻系统的检索效率。本专利技术通过缓存检索结果的Top-K结果集及文档最大的docID值,在缓存命中时避免了重复计算历史结果数据的问题。但会计算新增的増量数据,从而也避免了在缓存有效期内直接返回缓存结果造成的实时数据延迟问题。在不造成检索结果延迟的情况下,采用本缓存方法提升了检索结果缓存的命中率,在缓存命中时极大的降低检索过程中的计算量,提升了整个系统的性能和呑吐量。附图说明当结合附图考虑时,通过參照下面的详细描述,能够更完整更好地理解本专利技术以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本专利技术的进ー步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定,如图其中图I为现有技术典型的搜索引擎基本结构; 图2为现有技术的ー种搜索引擎三层缓存方法;图3为本专利技术的基本的索引库结构;图4为本专利技术的缓存结果集结构;图5为缓存的构建和使用流程。下面结合附图和实施例对本专利技术进ー步说明。具体实施例方式显然,本领域技术人员基于本专利技术的宗g所做的许多修改和变化属于本专利技术的保护范围。实施例I :如图所示,基本的索引库结构,如图3所示,由ID对照表、词典和倒排索引组成。其中ID对照表是建立的docID与URLID之间的对照关系,URLID是基于所创建索引文档分配的唯一的ID值,docID是索引库为URLID分配的ー个从I开始自增的内部ID ;词典存储的是关键词到倒排索引列表之间的索引关系;倒排索引存储的为docID递增有序的ID列表。本专利技术方案是基于増量索引技术的检索结果缓存,在采用增量索引技术构建的索引库时,对于添加到索引库中的増量新数据有个明显的特征,就是其分配的docID—定大于索引库中所有已索引数据的docID值。基于这个特征在索引库基础上缓存用户经常查询的检索串的Top-K结果集时,在结果集结构中,如图4所示,记录当前检索串所命中结果docID列表中的最大docID值。以下内容介绍了本缓存的构建和使用过程,及淘汰策略。一、缓存的淘汰策略情况一、当缓存中缓存的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种面向实时搜索的缓存技木,其特征在于缓存当前检索结果和后台索引库最大docID,通过仅向后台服务器检索増量部分的数据,缓存检索结果的Top-K结果集及文档最大的docID值。2.根据权利要求I所述的ー种面向实时搜索的缓存方法,其特征在于含有以下步骤; 步骤I、建立基本的索引库结构,由ID对照表、词典和倒排索引组成;其中ID对照表是建立的docID与URLID之间的对照关系,URLID是基于所创建索引文档分配的唯一的ID值,docID是索引库为URLID分配的ー个从I开始自增的内部ID ;词典存储的是关键词到倒排索引列表之间的索引关系;倒排索引存储的为docID递增有序的ID列表; 步骤2、判断结果缓存中是否存在当前检索串;查询检索串的Top-K结果集,记录当前检索串所命中结果docID列表中的最大docID值...
【专利技术属性】
技术研发人员:王飞,常智山,
申请(专利权)人:北京迅奥科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。