一种文本搜索方法、装置及存储介质制造方法及图纸

技术编号:30341520 阅读:25 留言:0更新日期:2021-10-12 23:11
本申请实施例提供一种文本搜索方法、装置及存储介质,该方法包括:接收搜索信息;基于历史倒排索引信息和缓存区的倒排索引信息,确定与所述搜索信息匹配的至少一个候选倒排索引信息;所述缓存区的倒排索引信息根据历史文档和至少一个目标文档更新得到,所述目标文档为基于所述历史文档更新的文档;将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息;将所述目标倒排索引信息作为搜索结果输出。本方案能够实时的更新索引、提高对部分字段更新的写入效率,以及提高搜索引擎的检索性能。能。能。

【技术实现步骤摘要】
一种文本搜索方法、装置及存储介质


[0001]本申请实施例涉及搜索引擎
,尤其涉及一种文本搜索方法、装置及存储介质。

技术介绍

[0002]在搜索引擎中,一般采用下述方式对检索索引进行更新:搜索引擎对接收的文档文本内容进行分词,得到词列表。然后,引擎会在内存中维护名为数据表(DWPT)的数据结构,包括:词的列表、词的倒排列表、文档内容、词频统计,当DWPT的数据大小达到设置阈值时,比如10MB,引擎会把内存中的数据持久化到磁盘,形成段(Segment),每个Segment有多个文件,分别记录Seg内的词典(trie tree[8]/bkd tree[7])、倒排列表、正向内容、词频统计等。
[0003]在对现有技术的研究和实践过程中,本申请实施例的专利技术人发现,在上述更新检索索引的方式中,写入的索引无法实时读取,需要把数据写入磁盘文件后才能提供用户检索,存在较长的读写延迟。由此可见,目前的搜索引擎在更新索引时,无法保证实时的更新索引。

技术实现思路

[0004]本申请实施例提供了一种文本搜索方法、装置及存储介质,能够实时的更新索引、提高对部分字段更新的写入效率,以及提高搜索引擎的检索性能。
[0005]第一方面中,本申请实施例提供一种文本搜索方法,所述方法包括:
[0006]接收搜索信息;
[0007]基于历史倒排索引信息和缓存区的倒排索引信息,确定与所述搜索信息匹配的至少一个候选倒排索引信息;所述缓存区的倒排索引信息根据历史文档和至少一个目标文档更新得到,所述目标文档为基于所述历史文档更新的文档;
[0008]将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息;
[0009]将所述目标倒排索引信息作为搜索结果输出。
[0010]一种可能的设计中,所述将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息,包括:
[0011]遍历所述至少一个候选倒排索引信息;
[0012]按照候选倒排索引信息的优先级从高至低从高至低的顺序,从所述至少一个候选倒排索引信息确定至少一个目标文档标识,所述目标文档标识满足以下项中的至少一项:不具有所述预设标识、具有所述预设标识且所属的候选倒排索引信息的优先级低于不具有所述预设标识且所属的候选倒排索引信息的优先级;
[0013]将所述至少一个目标文档标识生成所述目标倒排索引信息。
[0014]一种可能的设计中,所述目标文档具有第一文档标识,所述确定与所述搜索信息匹配的至少一个目标倒排索引信息之前,所述方法还包括:
[0015]根据所述目标文档和所述历史文档,获取第一词集合和第二词集合;所述第一词集合为所述目标文档中待向所述历史文档新增词的集合,所述第二词集合为所述历史文档中待删除词的集合;
[0016]将第一词集合和第二词集合分别添加至所述缓存区的倒排索引信息,以及在所述缓存区的待删除词所属的倒排索引信息中对所述第一文档标识设置所述预设标识。
[0017]一种可能的设计中,所述在所述缓存区的倒排索引信息中对所述目标文档设置所述预设标识之后,所述方法还包括:
[0018]获取多个倒排索引信息;
[0019]按照树结构对所述多个倒排索引信息进行排序;
[0020]对排序后的所述多个倒排索引信息进行合并,将合并得到的倒排索引信息中具有所述预设标识的第一文档标识删除。
[0021]一种可能的设计中,所述获取第一词集合和第二词集合之后,所述方法还包括:
[0022]根据所述第一文档标识获取所述历史文档的正向索引信息;
[0023]根据所述第一词集合向所述正向索引信息中增加所述新增词,以及根据所述第二词集合将所述正向索引信息中的所述待删除词删除。
[0024]一种可能的设计中,所述目标倒排索引信息包括目标词的删除列表,所述目标词为目标文档中的词;所述方法还包括:
[0025]确定所述目标倒排索引信息中的具有所述预设标识的多个文档标识;
[0026]按照各文档标识的编码规则对各文档标识进行排序;
[0027]分别为各文档标识设置对应的第一差值,所述第一差值为第一文档标识和第二文档标识之间的位置差值,所述第一文档标识在所述删除列表中的排列顺序先于所述第二文档标识,且所述第二文档标识为所述删除列表中所述第一文档标识的下一个具有所述预设标识的文档标识。
[0028]一种可能的设计中,所述目标倒排索引信息还包括所述目标词的倒排列表,所述方法还包括:
[0029]确定所述倒排列表中的多个文档标识;
[0030]按照各文档标识的编码规则对各文档标识进行排序;
[0031]分别为各文档标识设置对应的第二差值,所述第二差值为相邻两个文档标识之间的差值。
[0032]一种可能的设计中,所述历史文档按照树结构存储,所述方法还包括:
[0033]从第一存储层中获取第一文件集合,所述第一文件集合包括至少一个文件;
[0034]确定所述第一文件集合中所有文件覆盖的范围区间;
[0035]从第二存储层确定第二文件集合,所述第二文件集合是指在所述范围区间内的文件;所述第一存储层的层级低于所述第二存储层;
[0036]根据所述第一文件集合和所述第二文件集合获取各文件的正向索引信息和倒排索引信息;
[0037]若所述第一文件集合与所述第二文件集合存在相同的倒排列表,则保留所述第一文件集合对应的倒排列表;
[0038]按照倒排列表的优先级,对所述第一文件集合和所述第二文件集合各自对应的倒
排列表进行合并处理,得到新倒排列表,并将所述新倒排列表对应的文件进行序列化,以得到更新后的字节流。
[0039]一种可能的设计中,所述搜索结果保存在区块链节点上。
[0040]第二方面中,本申请实施例提供一种文本搜索装置,具有实现对应于上述第一方面提供的文本搜索方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
[0041]一种可能的设计中,所述文本搜索装置包括:
[0042]输入输出模块,用于接收搜索信息;
[0043]处理模块,用于基于历史倒排索引信息和缓存区的倒排索引信息,确定与所述输入输出模块接收的所述搜索信息匹配的至少一个候选倒排索引信息;所述缓存区的倒排索引信息根据历史文档和至少一个目标文档更新得到,所述目标文档为基于所述历史文档更新的文档;
[0044]所述处理模块还用于将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息;并通过所述输入输出模块将所述目标倒排索引信息作为搜索结果输出。
[0045]一种可能的设计中,所述处理模块具体用于:
[0046]遍历所述至少一个候选倒排索引信息;
[0047]按照候选倒排索引信息的优先级从高至低从高至低的顺序,从所述至少一个候选倒排索引信息确定至少一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文本搜索方法,其特征在于,所述方法包括:接收搜索信息;基于历史倒排索引信息和缓存区的倒排索引信息,确定与所述搜索信息匹配的至少一个候选倒排索引信息;所述缓存区的倒排索引信息根据历史文档和至少一个目标文档更新得到,所述目标文档为基于所述历史文档更新的文档;将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息;将所述目标倒排索引信息作为搜索结果输出。2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个候选倒排索引信息合并,得到目标倒排索引信息,包括:遍历所述至少一个候选倒排索引信息;按照候选倒排索引信息的优先级从高至低从高至低的顺序,从所述至少一个候选倒排索引信息确定至少一个目标文档标识,所述目标文档标识满足以下项中的至少一项:不具有所述预设标识、具有所述预设标识且所属的候选倒排索引信息的优先级低于不具有所述预设标识且所属的候选倒排索引信息的优先级;将所述至少一个目标文档标识生成所述目标倒排索引信息。3.根据权利要求1或2所述的方法,其特征在于,所述目标文档具有第一文档标识,所述确定与所述搜索信息匹配的至少一个目标倒排索引信息之前,所述方法还包括:根据所述目标文档和所述历史文档,获取第一词集合和第二词集合;所述第一词集合为所述目标文档中待向所述历史文档新增词的集合,所述第二词集合为所述历史文档中待删除词的集合;将第一词集合和第二词集合分别添加至所述缓存区的倒排索引信息,以及在所述缓存区的待删除词所属的倒排索引信息中对所述第一文档标识设置所述预设标识。4.根据权利要求3所述的方法,其特征在于,所述在所述缓存区的倒排索引信息中对所述目标文档设置所述预设标识之后,所述方法还包括:获取多个倒排索引信息;按照树结构对所述多个倒排索引信息进行排序;对排序后的所述多个倒排索引信息进行合并,将合并得到的倒排索引信息中具有所述预设标识的第一文档标识删除。5.根据权利要求3或4所述的方法,其特征在于,所述获取第...

【专利技术属性】
技术研发人员:曹希保曾楚伟李斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1