一种多数据源搜索的方法及装置的制造方法

文档序号:8457365阅读:520来源:国知局
一种多数据源搜索的方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种多数据源搜索的方法及装置。
【背景技术】
[0002]随着科学技术的发展,搜索引擎的出现起到了信息导航的作用,为用户进行信息搜索提供了便利。目前,在进行搜索时,如果存在多个待搜索的目标数据源,则搜索引擎需要从多个目标数据源处获得数据;并将多个数据源的数据进行数据整理后,建立索引,并将索引和整理后的数据都存储到搜索引擎对应的本地数据库并实时更新。同时,搜索引擎还要满足用户搜索数据的需求。也即,搜索引擎需要实时的从多个目标数据源获取数据并进行整理,同时还需要为用户提供搜索服务,且上述两方面的工作均要求高速连续地进行,此时,搜索引擎的压力很大并且很难支持两者同时进行,因此导致了用户搜索以及数据更新的过程均受到影响,进而导致搜索和数据更新的效率被降低,且影响了用户体验。

【发明内容】

[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]图1为本发明根据一示例性实施例示出的一种多数据源搜索的方法的流程图;
[0046]图2为本发明根据一示例性实施例示出的多数据源搜索的方法中步骤S30的实施方式流程图;
[0047]图3为本发明根据一示例性实施例示出的另一种多数据源搜索的方法的流程图;
[0048]图4为本发明根据一示例性实施例示出的又一种多数据源搜索的方法的流程图;
[0049]图5为本发明根据一示例性实施例示出的再一种多数据源搜索的方法的流程图;
[0050]图6为本发明根据一示例性实施例示出的一种多数据源搜索的装置的框图;
[0051]图7为本发明根据一示例性实施例示出的多数据源搜索的装置中搜索结果获取模块63的框图;
[0052]图8为本发明根据一示例性实施例示出的另一种多数据源搜索的装置的框图;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1