一种搜索结果的生成方法及装置的制造方法

文档序号:8361471阅读:198来源:国知局
一种搜索结果的生成方法及装置的制造方法
【技术领域】
[0001]本发明属于搜索技术领域,尤其涉及一种搜索结果的生成方法及装置。
【背景技术】
[0002]随着互联网技术的飞速发展,网络上的信息量每天都呈现着爆炸式的增长,而搜索引擎通过构建有效的数据索引,能够帮助用户快捷地在海量数据中查询到需要的信息。在搜索引擎技术中,倒排索引(Inverted Index)作为最常使用到的一种数据结构,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射,通过倒排索弓丨,可以根据关键词快速地获取到包含这个关键词的文档列表,以生成搜索结果反馈给用户。
[0003]现有的搜索引擎中,进行倒排索引的词以及这些词对应的文档列表均是通过单机存储的,由于单机的硬件资源有限,在该存储条件下,进行倒排索引的词数量越多,则由此产生的倒排数据所占用的存储空间也会越大,与此同时,在检索过程中对磁盘的读写次数也会越频繁。例如,以2亿篇文档为例,其中进行倒排索引的词的数量多于14亿,而这些词对应的倒排数据总量则达到了 560GB之多,从而导致在搜索过程中,中央处理器(CentralProcessing Unit, CPU)和磁盘的压力增大,无法高效地进行运算,影响倒排索引数据的存取速度,导致搜索结果的生成效率低。

【发明内容】

[0004]本发明实施例的目的在于提供一种搜索结果的生成方法,解决目前搜索引擎中倒排索引数据的存取速度慢,导致搜索结果的生成效率低的问题。
[0005]本发明实施例是这样实现的,一种搜索结果的生成方法,包括:
[0006]对抓取的文档进行分词处理,统计每个分词的词频,所述分词的词频用于表示包括该分词的所述抓取的文档的数量;
[0007]分别生成高频词倒排索引和低频词倒排索引,所述高频词倒排索引中的所述分词的词频大于预设阈值,所述低频词倒排索引中的所述分词的词频不大于所述预设阈值;
[0008]将所述高频词倒排索引和所述低频词倒排索引分别加载至不同的检索模块,所述不同的检索模块之间分别具备相互独立的存储装置;
[0009]将搜索关键词输入至少一个所述检索模块,在输入的所述检索模块对应的倒排索引中检索所述搜索关键词的文档列表,生成搜索结果。
[0010]本发明实施例的另一目的在于提供一种搜索结果的生成装置,包括:
[0011]分词处理单元,用于对抓取的文档进行分词处理,统计每个分词的词频,所述分词的词频用于表示包括该分词的所述抓取的文档的数量;
[0012]倒排索引生成单元,用于分别生成高频词倒排索引和低频词倒排索引,所述高频词倒排索引中的所述分词的词频大于预设阈值,所述低频词倒排索引中的所述分词的词频不大于所述预设阈值;
[0013]倒排索引加载单元,用于将所述高频词倒排索引和所述低频词倒排索引分别加载至不同的检索模块,所述不同的检索模块之间分别具备相互独立的存储装置;
[0014]搜索结果生成单元,用于将搜索关键词输入至少一个所述检索模块,在输入的所述检索模块对应的倒排索引中检索所述搜索关键词的文档列表,生成搜索结果。
[0015]本发明实施例分别考虑了高频词的倒排索引与低频词的倒排索引在数据存取时的不同特点,将高、低频词分离,这两类词对应的倒排索引分机存储,相比于将高、低频的倒排索引混合在一起单机存储的方案,本方案在读取倒排索引数据时,降低了内存占用、减少了磁盘读写,从而大大提高了搜索结果的生成效率。
【附图说明】
[0016]图1是本发明实施例提供的搜索结果的生成方法的实现流程图;
[0017]图2是本发明实施例提供的搜索结果的生成方法倒排索引存储结构的示意图;
[0018]图3是本发明实施例提供的搜索结果的生成方法S104的具体实现流程图;
[0019]图4是本发明实施例提供的搜索结果的生成方法S103的具体的实现流程图;
[0020]图5本发明实施例另一提供的搜索结果的生成方法S104的具体实现流程图;
[0021]图6本发明另一实施例提供的搜索结果的生成方法S104的具体实现流程图;
[0022]图7是本发明实施例提供的搜索结果的生成装置的结构框图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]本发明实施例分别考虑了高频词的倒排索引与低频词的倒排索引在数据存取时的不同特点,将高、低频词分离,这两类词对应的倒排索引分机存储,相比于将高、低频的倒排索引混合在一起单机存储的方案,本方案在读取倒排索引数据时,降低了内存占用、减少了磁盘读写,从而大大提高了搜索结果的生成效率。
[0025]需要说明的是,接下来均以网页搜索为例,对本发明实施例提供的搜索结果的生成方法及装置进行详细阐述,容易想到的是,基于相同的实现原理,本发明实施例也可运用于其他能够支持本发明实施例提供的搜索结果的生成方法及装置实现的搜索类产品中,例如,文献数据库的检索工具、图书馆检索系统,等等,在此不一一举例。
[0026]图1示出了本发明实施例提供的搜索结果的生成方法的实现流程,详述如下:
[0027]在SlOl中,对抓取的文档进行分词处理,统计每个分词的词频,所述分词的词频用于表示包括该分词的所述抓取的文档的数量。
[0028]所述抓取的文档,对于网页搜索来说,是由搜索引擎遵从特定规律,跟踪互联网上的网页链接,从一个网页爬到另一个网页,并将爬行过程中获取到的网页数据抓取下来而得到的。对应于搜索引擎所提供的搜索服务的不同,抓取的文档也不同,例如对于垂直搜索来说,其抓取的文档仅仅包括了该垂直搜索所专注的特定搜索领域或者特殊搜索需求的网页数据;而对于门户网站的站内搜索来说,其抓取的文档仅仅包括了该门户网站内的网页数据。
[0029]在将抓取得到的文档存入原始页面数据库之后,就需要对抓取的文档进行分词处理,经过提取文字、中英文分词、去停止词、消除噪音等步骤之后,首先得到了抓取的文档中的分词的顺排索引,顺排索引的数据格式为〈docid,termid〉,其中,docid用于标识一篇文档,而termid用于表示该文档中的一个分词,其是通过对分词进行消息摘要算法第五版(Message Digest Algorithm 5, MD5)计算等操作所得到的64位无符号整数,且每个分词的termid在全局均是唯一的。
[0030]在得到了抓取的文档中的分词的顺排索引之后,可以通过MapReduce等编程模型,对得到的每个分词进行词频统计,以在这些分词中划分出高频词和低频词。在本实施例中,分词的词频用于表示抓取得到的文档中包括该分词的文档的数量,例如,在抓取得到的10000篇文档中,包含分词“招聘”的文档有1000篇,则分词“招聘”的词频为1000。对于统计出的词频大于预设阈值的分词,将其划分为高频词,而对于统计出的词频小于或者等于该预设阈值的分词,将其划分为低频词。在本实施例中,预设阈值可以根据抓取的文档的总量来进行设定,例如,若当抓取的文档的总量为10000时,预设阈值设定在100,则当抓取的文档的总量翻倍时,预设阈值的设定应该高于100才较为合理,具体的设定方式可以根据实际的文档抓取情况进行确定,在此不用于限定本发明。
[0031]在S102中,分别生成高频词倒排索引和低频词倒排索引,所述高频词倒排索引中的所述分词的词频大于预设阈值,所述低频词倒排索引中的所述分词的词频不大于所述预设阈值。
[0032]根据分词的词频的不同,分词的倒排索引在数据读取上也具备各自的特点:
[0033]对于高频词来说,其在所有分词中占的总
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1