[发明专利]一种信息搜索的方法、系统及信息搜索设备有效
| 申请号: | 201010563663.6 | 申请日: | 2010-11-29 |
| 公开(公告)号: | CN102479207A | 公开(公告)日: | 2012-05-30 |
| 发明(设计)人: | 孙权 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
| 地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 信息 搜索 方法 系统 设备 | ||
技术领域
本申请涉及计算机技术领域,尤其涉及一种信息搜索的方法、系统及信息搜索设备。
背景技术
在大型的搜索集群系统中,由于用于搜索的集群文档数量巨大,因此为大量的集群文档建立索引文件,在索引文件中进行信息搜索。由于索引文件数据量也很大,为了提高信息搜索效率,可以将索引文件划分成多个部份,分别存储在多台搜索服务器(searcher)中,在多台搜索服务器中并行搜索以提高效率。例如:将一份的索引文件划分为n个部分,在每台搜索服务器中存储一部分索引文件,n台搜索服务器中存储的内容组合在一起成为一份完整的索引文件。
进一步考虑到搜索集群系统需要为大量用户并行提供搜索服务,一台搜索服务器很难提供高并发的搜索服务,因此,可以设置m台搜索服务器存储相同的索引文件。将存储有相同索引文件的m台搜索服务器作为一个子集合,n个子集合组成一个搜索服务器集合。为了方便从图形上直观地看出搜索服务器集合内m×n台搜索服务器的结构,可以以矩阵形式来表示m×n台搜索服务器。将存储有相同索引文件的m台搜索服务器的一个子集合看作是一列,n个子集合依次排列形成n行,得到m行n列结构的搜索服务器集合,如图1所示。
在利用搜索集群系统进行信息搜索时,为了提高搜索集群系统的性能,降低信息搜索的查询时间,可以采用分级缓存(cache)搜索方式。目前常见的分级缓存搜索方式是两级缓存搜索方式,其中:
一级缓存中缓存了之前一段时间内已使用的搜索请求(query)以及为该搜索请求返回的查询结果,一级缓存可以采用高性能分布式内存对象缓存系统(Memcached)来缓存搜索请求以及对应的查询结果,一级缓存对于整个搜索集群系统而言是全局的;
二级缓存中缓存了之前一段时间内利用搜索请求进行查询后将查询结果进行集合运算后得到的文档列表(doclist),二级缓存的内容缓存在搜索服务器中,只对接收到搜索请求且进行集合运算的搜索服务器可见。
如图2所示,为两级缓存搜索方式下的搜索集群系统结构示意图,假设用户以“电脑包”+“价格区间50元~100元”为搜索请求进行信息搜索,则通过图2所示的搜索集群系统的信息搜索过程如下:
第一步:搜索集群系统中的合并(merger)服务器接收来自用户(user)的搜索请求,其中,关键字为“电脑包”,搜索条件为“价格区间50元~100元”。
第二步:合并服务器搜索作为一级缓存的Memcached,如果有查询结果,则表示之前已有其他用户使用相同搜索请求进行过搜索,因此,可以直接从Memcached中读取搜索结果并返回给用户;如果没有搜索结果,则执行第三步。
第三步:合并服务器从图1所示的搜索服务器集合的每列中随机选取一台搜索服务器,选取的n台搜索服务器存储各部分索引文件组合在一起成为一份完整的索引文件。其中,由于位于同一列的搜索服务器被选取的概率是基本相同的,以实现同一列的搜索服务器负载的基本均衡。
第四步:合并服务器将搜索请求发送给选取的各台搜索服务器。
第五步:针对接收到搜索请求的每个搜索服务器,以第一列的搜索服务器_1为例,搜索服务器_1根据其中的关键字“电脑包”搜索二级缓存中是否有匹配的搜索结果,如果有,则读取二级缓存中“电脑包”对应的文档列表,并利用搜索请求中的搜索条件对读取的文档列表做集合运算,查询出符合搜索条件的内容。例如,读取的文档列表中包括多种价位电脑包的文档列表集合,则按照“价格区间50元~100元”的搜索条件对读取的文档列表做集合运算,从中查询出“价格区间50元~100元”的文档列表。
搜索服务器_1将查询出的内容进行统计、分级和排序后返回给合并服务器,并跳转至第八步;如果搜索服务器_1未搜索出与“电脑包”匹配的搜索结果,则执行第六步。
第六步:搜索服务器_1将关键字“电脑包”分词为两个子关键字“电脑”+“包”,并分别利用“电脑”和“包”这两个子关键字从搜索服务器_1中存储的索引文件中进行搜索,并将搜索结果进行集合运算,得到利用“电脑”和“包”这两个子关键字的搜索结果的交集,将得到的交集作为关键字“电脑包”的文档列表并写入搜索服务器_1的二级缓存内。
第七步:搜索服务器_1利用搜索条件对写入二级缓存的文档列表做集合运算,查询出符合搜索条件的内容,并将查询出的内容进行统计、分级和排序后返回给合并服务器。
其他的n-1台搜索服务器按照与上述第五步至第七步的方式向合并服务器返回查询出的内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010563663.6/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置





