搜索方法和搜索引擎技术

技术编号:11359768 阅读:102 留言:0更新日期:2015-04-29 10:40
本发明专利技术提供一种搜索方法和搜索引擎,通过接收用户终端发送的用于对网页进行搜索的关键字,利用各从节点的内存中存储的第一索引文件,进行搜索,获得与关键字相匹配的第一匹配网页后,若第一匹配网页的个数少于第一阈值,再利用各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页,向用户终端发送包含第一匹配网页和第二匹配网页的搜索结果,由于首先利用内存中存储的第一索引文件进行搜索,不需要占用I/O接口,从而避免了由于全部将索引文件存储在磁盘所导致的检索速度下降,提高了检索效率。

【技术实现步骤摘要】
搜索方法和搜索引擎
本专利技术涉及信息检索技术,尤其涉及一种搜索方法和搜索引擎。
技术介绍
搜索引擎是一种根据用户终端输入的关键字,利用倒排索引文件,也称索引文件,进行检索的系统。搜索引擎可分为全文搜索引擎、垂直搜索引擎、集合式搜索引擎和门户搜索引擎等不同种类。搜索引擎需要预先根据包括数十亿,甚至百亿数量级网页的原始网络数据创建索引文件,获得的索引文件的数据量也较大,以全文搜索引擎为例,约为102G到103G数量级。现有技术中,通常采用将索引文件存储在磁盘上,当利用文件进行搜索时,需要频繁占用磁盘的输入/输出(I/O)接口,因而导致检索速度下降,效率较低。
技术实现思路
本专利技术提供一种搜索方法和搜索引擎,用于提高检索速度和效率。本专利技术的第一个方面是提供一种搜索方法,包括:接收用户终端发送的用于对网页进行搜索的关键字;利用各从节点的内存中存储的第一索引文件,进行搜索,获得与所述关键字相匹配的第一匹配网页;若所述第一匹配网页的个数少于第一阈值,利用所述各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页;所述第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件周期性持久化到磁盘中获得的;向所述用户终端发送搜索结果;所述搜索结果包括所述第一匹配网页和/或所述第二匹配网页。本专利技术的另一个方面是提供一种搜索引擎,包括:接收模块,用于接收用户终端发送的用于对网页进行搜索的关键字;第一搜索模块,用于利用各从节点的内存中存储的第一索引文件,进行搜索,获得与所述关键字相匹配的第一匹配网页;第二搜索模块,用于若所述第一匹配网页的个数少于第一阈值,利用所述各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页;所述第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件,周期性持久化到磁盘中获得的;发送模块,用于向所述用户终端发送搜索结果;所述搜索结果包括所述第一匹配网页和/或所述第二匹配网页。本专利技术提供的搜索方法和搜索引擎,通过接收用户终端发送的用于对网页进行搜索的关键字,利用各从节点的内存中存储的第一索引文件,进行搜索,获得与关键字相匹配的第一匹配网页后,若第一匹配网页的个数少于第一阈值,再利用各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页,向用户终端发送包含第一匹配网页和第二匹配网页的搜索结果,由于首先利用内存中存储的第一索引文件进行搜索,不需要占用I/O接口,从而避免了由于全部将索引文件存储在磁盘所导致的检索速度下降,提高了检索效率。附图说明图1为本专利技术一实施例提供的搜索方法的流程示意图;图2为本专利技术另一实施例提供的搜索方法的流程示意图;图3为本专利技术一实施例提供的搜索引擎的结构示意图;图4为本专利技术另一实施例提供的搜索引擎的结构示意图。具体实施方式图1为本专利技术一实施例提供的搜索方法的流程示意图,本实施例所提供的搜索方法可由搜索引擎执行,如图1所示,该搜索方法包括:101、接收用户终端发送的用于对网页进行搜索的关键字。102、利用各从节点的内存中存储的第一索引文件,进行搜索,获得与关键字相匹配的第一匹配网页。其中,第一索引文件是各从节点根据原始网络数据创建的,原始网络数据是主节点以负载均衡为依据,根据各从节点的负载,向各从节点发送的。搜索引擎包括上载系统和索引系统,其中索引系统包括主节点和各从节点。主节点以负载均衡为依据,根据各从节点的负载,向各从节点发送原始网络数据,以使各从节点根据原始网络数据创建索引文件。各从节点之间相互不进行通信,由主节点对各从节点进行统一管理,使得对从节点的删减更加灵活。经过测试,若原始网络数据的平均大小为1K,在单节点双核CPU、24G内存的配置的情况下,则该搜索引擎的平均索引速度达到2500条/秒,10个从节点的情况下,则该搜索引擎的平均索引速度达到20000条/秒。从节点可采用多线程的工作模式根据原始网络数据创建索引文件。从节点接收主节点发送的原始网络数据,对原始网络数据进行解码,将解码后的原始网络数据加入到原始数据队列中,利用多个索引创建线程,对原始数据队列中的原始网络数据并行进行处理,获得索引文件,将该索引文件存储到内存中,并对内存索引进行更新。其中,内存索引用于指示索引文件的存储位置。103、若第一匹配网页的个数少于第一阈值,利用各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页。其中,第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件,周期性持久化到磁盘中获得的。104、向用户终端发送搜索结果。其中,搜索结果包括第一匹配网页和/或第二匹配网页。本实施例中的搜索引擎可用于对舆情数据的处理中。本实施例中,通过接收用户终端发送的用于对网页进行搜索的关键字,利用各从节点的内存中存储的第一索引文件,进行搜索,获得与关键字相匹配的第一匹配网页后,若第一匹配网页的个数少于第一阈值,再利用各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页,向用户终端发送包含第一匹配网页和第二匹配网页的搜索结果,由于首先利用内存中存储的第一索引文件进行搜索,不需要占用I/O接口,从而避免了由于将索引文件存储在磁盘所导致的检索速度下降,提高了检索效率。图2为本专利技术另一实施例提供的搜索方法的流程示意图,如图2所示,该搜索方法包括:201、搜索引擎接收用户终端发送的用于对网页进行搜索的关键字。202、搜索引擎利用各从节点的内存中存储的第一索引文件,进行搜索,获得与关键字相匹配的第一匹配网页。其中,第一索引文件是各从节点根据原始网络数据创建的,原始网络数据是主节点以负载均衡为依据,根据各从节点的负载,向各从节点发送的。主节点通过各从节点发送的心跳包,获取各从节点的负载,心跳包记录各从节点的索引量和活动状态,活动状态为正在工作或未工作。搜索引擎包括上载系统和索引系统,上载系统向索引系统中的主节点发送原始网络数据,上载系统仅与索引系统中的主节点相联系,仅能获知主节点的网络地址。索引系统中的主节点根据心跳包,从各从节点中选择活动状态为正在工作,并且索引量最小的从节点作为目标从节点,向上载系统发送目标从节点的网络地址,以使上载系统根据该网络地址向目标从节点发送原始网络数据。目标从节点接收到原始网络数据之后,在该目标从节点的内存中创建索引文件,直接以增量方式更新内存的索引库后,该索引文件即可用于检索。203、若第一匹配网页的个数少于第一阈值,搜索引擎利用各节点的磁盘中的往期索引库中存储的第二索引文件进行搜索。其中,往期索引库用于存储持久化到磁盘的时间不大于第二时长的第二索引文件。第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件,周期性持久化到磁盘中获得的。优先利用各从节点的内存中存储的第一索引文件,进行搜索,但由于内存具有易失性,为了提高索引文件的安全性,需要周期性的将内存中的第一索引文件存储到磁盘中,即持久化到磁盘,由于持久化到磁盘的操作需要对磁盘进行写操作,占用I/O接口,影响搜索引擎的搜索效率,因而持久化到磁盘的操作周期不需要太高,优选第一时长为1个小时。对持久化到磁本文档来自技高网...
搜索方法和搜索引擎

【技术保护点】
一种搜索方法,其特征在于,包括:接收用户终端发送的用于对网页进行搜索的关键字;利用各从节点的内存中存储的第一索引文件,进行搜索,获得与所述关键字相匹配的第一匹配网页;若所述第一匹配网页的个数少于第一阈值,利用所述各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页;所述第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件周期性持久化到磁盘中获得的;向所述用户终端发送搜索结果;所述搜索结果包括所述第一匹配网页和/或所述第二匹配网页。

【技术特征摘要】
1.一种搜索方法,其特征在于,包括:接收用户终端发送的用于对网页进行搜索的关键字;利用各从节点的内存中存储的第一索引文件,进行搜索,获得与所述关键字相匹配的第一匹配网页;若所述第一匹配网页的个数少于第一阈值,利用所述各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页;所述第二索引文件是以第一时长为周期对所述各从节点的内存中所存储的所述第一索引文件周期性持久化到磁盘中获得的;向所述用户终端发送搜索结果;所述搜索结果包括所述第一匹配网页和/或所述第二匹配网页;其中,第一索引文件是各从节点根据原始网络数据创建的,原始网络数据是主节点以负载均衡为依据,根据各从节点的负载,向各从节点发送的。2.根据权利要求1所述的搜索方法,其特征在于,所述若所述第一匹配网页的个数少于第一阈值,利用所述各节点的磁盘中所存储的第二索引文件,进行搜索,获得与所述关键字相匹配的第二匹配网页,包括:利用所述各节点的磁盘中的往期索引库所存储的第二索引文件进行搜索;所述往期索引库用于存储持久化到磁盘的时间不大于第二时长的第二索引文件;若利用所述各节点的磁盘中的往期索引库进行搜索所获得的匹配网页的个数少于第二阈值,利用所述各节点的磁盘中的历史索引库所存储的第二索引文件继续进行搜索,获得与所述关键字相匹配的第二匹配网页;所述历史索引库用于存储持久化到磁盘的时间大于所述第二时长的第二索引文件。3.根据权利要求1或2所述的搜索方法,其特征在于,所述搜索方法还包括:监控所述各从节点的内存的占用率;若所述各从节点中存在所述内存的占用率超过第三阈值的从节点,根据所述第一索引文件的创建时间,依次对所述内存的占用率超过所述第三阈值的从节点的内存中所存储的已持久化到磁盘的第一索引文件进行删除。4.根据权利要求1或2所述的搜索方法,其特征在于,所述各从节点的负载是所述各从节点利用心跳包向所述主节点发送的。5.一种搜...

【专利技术属性】
技术研发人员:张涛于晓明杨建武
申请(专利权)人:北大方正集团有限公司北京大学北京北大方正电子有限公司
类型:发明
国别省市:北京;11

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

1