一种搜索方法及系统技术方案

技术编号:15225303 阅读:231 留言:0更新日期:2017-04-27 03:54
本发明专利技术提供了一种搜索方法,该方法包括:S1、由Master子系统进行线下生成索引,并将线下生成的索引部署到所述Slave子系统内,其中,所述线下生成的索引包括全量索引和增量索引;S2、由所述Slave子系统根据所述线下生成的索引对外提供搜索服务。本发明专利技术还提供了一种搜索系统。实施本发明专利技术,Master子系统采用线下生成索引,降低了实现的复杂度和索引生成和切换对线上业务的影响,同时,线下生成索引采用生成全量索引和增量索引相结合的方式,进而能达到较好的索引更新效果,一方面降低了Master子系统的计算资源、网络资源和存储资源等的压力,另一方面,降低了采用合并增量索引所检索出来的结果时的计算量,实现了增量数据准实时更新的效果。

【技术实现步骤摘要】

本专利技术涉及数据库
,更具体地说,涉及一种搜索方法及系统。
技术介绍
在搜索系统中,索引为能进行快速的搜索服务提供了数据基础,而索引更新是搜索系统中的关键技术。目前常用的索引更新主要包括两种方式,其中,一种方式为线下全量索引更新,即每次更新数据时,在线下对重新的全量生成索引,用新的索引替换线上正在使用的索引,这种方式实现简单,可靠性较高,并且由于是线下生成索引,索引生成过程对线上的搜索服务没有任何影响,但是每次更新数据时都要全部重新生成索引,由于先全量生成索引,在部署到线上的系统,给计算资源、网络资源和存储资源造成了一定的压力;在更新的数据量大时,索引生成时间可能较长,并且索引的切换灯也会相应的变得异常困难,进而很难到达交互的数据更新的时效性。另一种方式为在线实时索引更新,即更新数据时,程序对线上正在使用中的索引进行实时更新,是目前广泛使用的方式,能够对数据到达准实时的更新效果,一般应用于对数据更新的时效性要求较高的场景,但是在实时索引更新时,由于要实现数据的修改、合并等,并且要实现数据的一致性,使得实现相对复杂;同时,由于需要直接修改正在更新的索引文件,就不可避免地需要对索引文件进行读写控制,进而会对线上正在进行中的服务造成一定的影响。从时效性的角度,上述线下全量索引更新的时效性差,而在线实时索引更新的时效性高,一般能达到毫秒级别的效果,接近实时更新。但是在实际应用中,很多应用场景并不需要太高的时效性,比如一些垂直搜索引擎,其完全可以容忍分钟粒度,甚至小时粒度的数据更新效果。
技术实现思路
本专利技术要解决的技术问题在于,针对现有搜索系统中的索引更新的不足,提供一种搜索方法及系统。本专利技术解决上述问题的技术方案是提供了一种搜索方法,该方法包括以下步骤:S1、由Master子系统进行线下生成索引,并将线下生成的索引部署到所述Slave子系统内,其中,所述线下生成的索引包括全量索引和增量索引;S2、由所述Slave子系统根据所述线下生成的索引对外提供搜索服务。在上述搜索方法中,所述步骤S1具体包括:S11、按照预设周期对所有数据生成一所述全量索引,其中,所述预设周期为一天;S12、按照增量数据出现的频率对自所述全量索引生成后的预设时间内所产生的第一增量数据生成所述增量索引,其中,所述增量索引包括新增索引、更新索引和删除索引。在上述搜索方法中,在所述步骤S12中,对第一增量数据生成所述增量索引步骤具体包括:S121、将所述第一增量数据分类,分别为新增数据、更新数据和删除数据;S122、分别对所述新增数据、所述更新数据和所述删除数据创建所述新增索引、所述更新索引和所述删除索引。在上述搜索方法中,在所述步骤S12之前还包括:S12’、对所有的自所述全量索引生成后的预设时间内所产生的第二增量数据进行合并运算,得到所述第一增量数据。在上述搜索方法中,所述步骤S2具体包括:S21、根据由所述全量索引、所述新增索引和所述更新索引构成的集合进行合并检索得到一合并结果集,并根据所述删除索引进行检索得到一删除结果集;S22、根据记录的顺序遍历所述合并结果集,并将所述合并结果集中重复出现的记录删除,得到一待输出结果集;S23、比较所述待输出结果集和所述删除结果集中的记录的主键,并删除所述待输出结果集中的与所述删除结果集中的记录的主键相同的记录,得到一搜索结果集。本专利技术还提供了一种搜索系统,该搜索系统包括一Master子系统和至少一个Slave子系统,其中:所述Master子系统进行线下生成索引,并将线下生成的索引部署到所述Slave子系统内,其中,所述线下生成的索引包括全量索引和增量索引;所述Slave子系统根据所述线下生成的索引对外提供搜索服务。在上述搜索系统中,所述Master子系统包括全量索引生成模块和增量索引生成模块,其中:所述全量索引生成模块按照预设周期对所有数据生成一所述全量索引,其中,所述预设周期为一天;所述增量索引生成模块按照增量数据出现的频率对自所述全量索引生成后的预设时间内所产生的第一增量数据生成所述增量索引,其中,所述增量索引包括新增索引、更新索引和删除索引。在上述搜索系统中,所述增量索引生成模块对第一增量数据生成所述增量索引步骤具体包括:将所述第一增量数据分类,分别为新增数据、更新数据和删除数据;分别对所述新增数据、所述更新数据和所述删除数据创建所述新增索引、所述更新索引和所述删除索引。在上述搜索系统中,所述Master子系统还包括合并模块,其中:所述合并模块对所有的自所述全量索引生成后的预设时间内所产生的第二增量数据进行合并运算,得到所述第一增量数据。在上述搜索系统中,所述Slave子系统包括检索模块、排重模块和过滤模块,其中:所述检索模块根据由所述全量索引、所述新增索引和所述更新索引构成的集合进行合并检索得到一合并结果集,并根据所述删除索引进行检索得到一删除结果集;所述排重模块根据记录的顺序遍历所述合并结果集,并将所述合并结果集中重复出现的记录删除,得到一待输出结果集;所述过滤模块比较所述待输出结果集和所述删除结果集中的记录的主键,并删除所述待输出结果集中的与所述删除结果集中的记录的主键相同的记录,得到一搜索结果集。实施本专利技术的搜索方法及系统,具有以下有益效果:首先,采用Master-Slave的构架,Slave子系统可采用多实例分布式,以满足支撑业务所需的高并发量;其次,Master子系统采用线下生成索引,降低了实现的复杂度,同时,线下生成索引采用生成全量索引和增量索引相结合的方式,其中,按照预设周期生成全量索引,根据增量数据出现的频率生成增量索引,到达了全量索引生成的次数与增量索引的规模之间的平衡,进而能达到较好的索引更新效果,一方面降低了Master子系统的计算资源、网络资源和存储资源等的压力,另一方面,降低了采用合并增量索引所检索出来的结果时的计算量。另外,由于采用线下生成索引,降低了索引生成和切换对线上业务的影响。最后,在搜索时,通过增量索引的合并,达到数据增量操作的效果,实现了增量数据准实时更新的效果。附图说明图1是本专利技术的搜索系统实施例的结构示意图。图2是本专利技术的搜索系统实施例的具体的结构示意图。图3是索引生成时序的示意图。图4是本专利技术的搜索方法实施例的流程图。图5是本专利技术的搜索方法实施例的具体的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,是本专利技术的搜索系统实施例的结构示意图,该搜索系统采用Master-Slave的构架,该Master-Slave构架是MySQL构架的其中一种,其数据同步快。该搜索系统包括Master子系统10和Slave子系统20,其中,Master子系统10进行线下生成索引,其中线下生成的索引包括全量索引和增量索引,并将线下生成的索引部署到Slave子系统20内;Slave子系统20根据线下生成的索引对外提供搜索服务。在本专利技术的另一实施例中,为了支撑业务所需的高并发量需求,Slave子系统20可以采用多实例分布式部署的方式,即搜索系统包括多个Slave子系统20,每一Slave子系统20均与Mast本文档来自技高网...

【技术保护点】
一种搜索方法,其特征在于,该方法包括以下步骤:S1、由Master子系统线下生成索引,并将线下生成的索引部署到Slave子系统内,其中,所述线下生成的索引包括全量索引和增量索引;S2、由所述Slave子系统根据所述线下生成的索引对外提供搜索服务。

【技术特征摘要】
1.一种搜索方法,其特征在于,该方法包括以下步骤:S1、由Master子系统线下生成索引,并将线下生成的索引部署到Slave子系统内,其中,所述线下生成的索引包括全量索引和增量索引;S2、由所述Slave子系统根据所述线下生成的索引对外提供搜索服务。2.根据权利要求1中所述的搜索方法,其特征在于,所述步骤S1具体包括:S11、按照预设周期对所有数据生成一所述全量索引,其中,所述预设周期为一天;S12、按照增量数据出现的频率对自所述全量索引生成后的预设时间内所产生的第一增量数据生成所述增量索引,其中,所述增量索引包括新增索引、更新索引和删除索引。3.根据权利要求2中所述的搜索方法,其特征在于,在所述步骤S12中,对第一增量数据生成所述增量索引步骤具体包括:S121、将所述第一增量数据分类,分别为新增数据、更新数据和删除数据;S122、分别对所述新增数据、所述更新数据和所述删除数据创建所述新增索引、所述更新索引和所述删除索引。4.根据权利要求3中所述的搜索方法,其特征在于,在所述步骤S12之前还包括:S12’、对所有的自所述全量索引生成后的预设时间内所产生的第二增量数据进行合并运算,得到所述第一增量数据。5.根据权利要求4中所述的搜索方法,其特征在于,所述步骤S2具体包括:S21、根据由所述全量索引、所述新增索引和所述更新索引构成的集合进行合并检索得到一合并结果集,并根据所述删除索引进行检索得到一删除结果集;S22、根据记录的顺序遍历所述合并结果集,并将所述合并结果集中重复出现的记录删除,得到一待输出结果集;S23、比较所述待输出结果集和所述删除结果集中的记录的主键,并删除
\t所述待输出结果集中的与所述删除结果集中的记录的主键相同的记录,得到一搜索结果集。6.一种搜索系统,其特征在于,该搜索系统包括一Master子系统和至少一个S...

【专利技术属性】
技术研发人员:周美芳李海平曲晓园陈国锐高宝兵林纪坤杨睛龙肖亮
申请(专利权)人:卓望数码技术深圳有限公司
类型:发明
国别省市:广东;44

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

1