【技术实现步骤摘要】
一种关键词搜索方法、装置和搜索引擎
本申请涉及信息搜索领域,尤其涉及一种关键词搜索方法、装置和搜索引擎。
技术介绍
智能手机时代,随着用户在手机中存储的数据越来越多,对搜索的需求也越来越大。例如,用户手机往往存储有成千上万张照片,且每张照片都包括如时间、地点、名称、分类等多个属性的信息,如果用户在这成千上万张照片中手动查找自己想要的照片,将十分麻烦,因此需要一种高效智能的搜索引擎(searchengine,SE)来提供简单、便利的搜索服务,以提高用户的搜索体验。索引是搜索引擎中的一个核心部件,它是实现“单词-文档矩阵”的具体数据结构,“单词-文档矩阵”描述了某篇文档包含了哪些单词,以及某个单词出现在哪些文档中等信息。实现这一具体数据结构的常用技术方案是倒排索引(Invertedindex)。所述倒排索引主要是根据属性值来查找记录。在倒排索引表中包括某个单词在一个文档或者一组文档中的存储位置,该存储的位置一般用文档编号来表示,因此,通过倒排索引能够搜索出单词所在的文档编号。但是,目前通过倒排索引查找关键词所对应的文档编号,若采用线性的倒排索引,查询和搜索时需要遍历整个索引,耗时较长,搜索速度较慢。若采用哈希表形式的倒排索引,则需要占用大量的存储资源,相比线性结构的存储资源大5至7倍,所以如何通过倒排索引提供一种速度快,占用资源少的搜索方法,是本领域人员亟待解决的技术问题。
技术实现思路
本申请提供了一种关键词搜索方法、装置和搜索引擎,以解决目前采用的倒排索引搜索关键词时速度慢、占用资源大的问题。第一方面,本申请提供了一种关键词搜索方法,所述方法应用于由字典树和倒 ...
【技术保护点】
1.一种关键词搜索方法,其特征在于,方法包括:获取关键词和字典倒排树,所述字典倒排树包括:一个根节点,与所述根节点相连接的至少一条分支,其中,每条所述分支包含至少一个字符节点和一个索引节点,一个所述字符节点包含一个字符,所述索引节点上包含索引编号,所述索引编号用于指示该索引编号所在分支对应的文档编号;根据所述关键词,在所述字典倒排树中查找目标分支,所述目标分支上的字符节点与所述关键词中的字符相匹配;根据所述目标分支的索引节点,获取所述目标分支对应的索引编号。
【技术特征摘要】
1.一种关键词搜索方法,其特征在于,方法包括:获取关键词和字典倒排树,所述字典倒排树包括:一个根节点,与所述根节点相连接的至少一条分支,其中,每条所述分支包含至少一个字符节点和一个索引节点,一个所述字符节点包含一个字符,所述索引节点上包含索引编号,所述索引编号用于指示该索引编号所在分支对应的文档编号;根据所述关键词,在所述字典倒排树中查找目标分支,所述目标分支上的字符节点与所述关键词中的字符相匹配;根据所述目标分支的索引节点,获取所述目标分支对应的索引编号。2.根据权利要求1所述的方法,其特征在于,所述目标分支上的字符节点与所述关键词中的字符相匹配,包括:所述目标分支上的字符节点所包含的字符与所述关键词中相同字符的个数占所述关键词的总字符数的比值大于阈值。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述索引编号,在线性倒排表中查找所述关键词的文档编号,所述线性倒排表中包括至少一个索引编号和与每个所述索引编号对应的文档编号。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:判断所述字典倒排树中一条分支的字符节点上的字符与所述关键词的字符不相同的个数是否在预设值之内;如果在所述预设值之内,则根据所述分支上的字符节点的字符对所述不相同的字符进行纠错;。5.根据权利要求4所述的方法,其特征在于,所述对不相同的字符进行纠错,包括:确定与所述关键词不相同的字符;根据拼音或字形规则在所述字典倒排树的一条分支中查找与所述不相同字符相近似的字符;利用所述相近似的字符替换所述不相同的字符。6.根据权利要求3所述的方法,其特征在于,如果所述关键词对应的文档编号的个数为两个或两个以上时,则所述确定的至少两个文档编号按照所述线性倒排表中文档编号的顺序排序。7.根据权利要求3所述的方法,其特征在于,如果查找多个关键词所对应的文档编号,则所述方法还包括:将每个关键词分别在所述字典倒排树中进行遍历,并输出每个所述关键词所对应的文档编号,其中,每个关键词所对应的文档编号组一个文档编号集合;统计所有关键词所对应的所有文档编号集合,筛选所有集合中的交集作为目标集合;输出所述目标集合中的文档编号,作为所述多个关键词所对应的文档编号。8.根据权利要求1-7任一项所述的方法,其特征在于,所述字典倒排树还包括至少一个公共字符节点,一个所述公共字符节点连接有至少两个字符节点,形成至少两条分支,所述至少两条分支均包含所述一个公共字符节点。9.一种关键词搜索装置,其特征在于,装置包括:获取单元,用于获取关键词和字典倒排树,所述字典倒排树包括:一个根节点,与所述根节点相连接的至少一条分支,其中,每条所述分支包含至少一个字符节点和一个索引节点,一个所述字符节点包含一个字符,所述索引节点上包含索引编号,所述索引编号用于指示该索引编号所在分支的对应的文档编号;处理单元,用于根据所述关键词,在所述字典倒排树中查找目标分支,所述目标分支上的字符节点与所述关键词中的字符相匹配;所述获取单元,还用于根据所述目标分支的索引节点,获取所述目标分支对应的索引编号。10.根据权利要求9所述的装置,其特征在于,所述处理单元,具体用于在所述字典倒排树中查找目标分支,所述目标分支...
【专利技术属性】
技术研发人员:夏飞,金鑫,刘权,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。