一种搜索引擎创建方法及装置制造方法
【专利摘要】本发明提供一种搜索引擎创建方法及装置。搜索服务根据预先设置的第一配置信息,获取与该搜索服务对应的索引服务端中索引文件的索引文件版本信息,并获取该搜索服务中的本地索引文件的本地索引文件版本信息,通过将索引文件版本信息以及本地索引文件版本信息的对比,实现对本地索引文件的更新,进而完成对搜索引擎的创建过程,本发明在搜索引擎创建过程中,通过在索引服务端和搜索服务分别进行分布式部署的同时,进行同步更新,实现了在支持高并发大数量级的访问以及集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。
【专利说明】一种搜索弓I擎创建方法及装置
【技术领域】
[0001]本发明涉及搜索引擎【技术领域】,特别是涉及一种搜索引擎创建方法及装置。
【背景技术】
[0002]Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。
[0003]现有技术中,基于Lucene工具包的搜索引擎在创建过程,通常产生如下问题:无法将索引服务端和搜索服务分别进行分布式部署,且做到热部署(即:索引服务端和搜索服务相互独立存在),并且无法实时更新索引服务端中的索引文件。进而导致无法在支持高并发大数量级的访问以及对集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。
【发明内容】
[0004]有鉴于此,本发明实施例提供一种搜索引擎创建方法及装置,以实现在支持高并发大数量级的访问以及对集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。
[0005]为了实现上述目的,本发明实施例提供的技术方案如下:
[0006]一种搜索引擎创建方法,包括:
[0007]搜索服务响应接收到的同步更新请求,根据预先设置的第一配置信息,判断是否存在与该搜索服务对应的索引服务端,当存在时,分别获取各个所述索引服务端中索引文件的索引文件版本信息;
[0008]获取所述搜索服务中本地索引文件的本地索引文件版本信息;
[0009]通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息;
[0010]根据所述索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索弓I文件进行更新,完成对搜索引擎的创建过程。
[0011]优选的,通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对t匕,获取索引文件版本更新信息之前,还包括:
[0012]判断所述搜索服务的本地索引文件是否为空。
[0013]优选的,在获取索引文件版本更新信息之前,还包括:
[0014]判断是否存在索引文件的更新。
[0015]优选的,所述索引服务端中索引文件的创建过程为:
[0016]响应接收到的索引文件创建请求,创建索引;
[0017]获取数据库中与预先设置的第二配置信息对应的目的数据;
[0018]利用所述索引以及所述目的数据,创建索引文件。[0019]优选的,还包括:所述索引服务端根据预先设定的第一频率,监控所述数据库中的目的数据是否发生变化;
[0020]当所述目的数据发生变化时,根据该目的数据的变化,更新所述索引服务端中的索引文件。
[0021]优选的,所述搜索服务响应接收到的同步更新请求,包括:
[0022]所述搜索服务响应接收到的以预先设定的第二频率发送的同步更新请求。
[0023]一种搜索引擎创建装置,包括:第一判断单元、索引文件版本信息获取单元、本地索引文件版本信息获取单元、索引文件版本更新信息获取单元以及本地索引文件更新单元,其中,
[0024]所述第一判断单元用于响应接收到的同步更新请求,根据预先设置的第一配置信息,判断是否存在与搜索服务对应的索引服务端;
[0025]所述索引文件版本信息获取单元与所述第一判断单元相连接,用于当存在与该搜索服务对应的索引服务端时,分别获取各个所述索引服务端中索引文件的索引文件版本信息;
[0026]所述本地索引文件版本信息获取单元用于获取所述搜索服务中本地索引文件的本地索引文件版本信息;
[0027]所述索引文件版本更新信息获取单元的一端与所述索引文件版本信息获取单元相连接,另一端与所述本地索引文件版本信息获取单元相连接,用于通过将所述索引文件版本信息以及所述本地索弓I文件版本信息进行对比,获取索引文件版本更新信息;
[0028]所述本地索引文件更新单元与所述索引文件版本更新信息获取单元相连接,用于根据所述索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索弓I文件进行更新,完成对搜索引擎的创建过程。
[0029]优选的,还包括:第二判断单元,
[0030]所述第二判断单元的一端与所述本地索引文件版本信息获取单元相连接,另一端与所述索弓I文件版本更新信息获取单元相连接,用于在所述索弓I文件版本更新信息获取单元通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息之前,判断所述搜索服务的本地索引文件是否为空。
[0031]优选的,还包括:第三判断单元,
[0032]所述第三判断单元的一端与所述第二判断单元相连接,另一端与所述本地索引文件版本信息获取单元相连接,用于通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,判断是否存在索引文件的更新。
[0033]本发明提供一种搜索引擎创建方法及装置,搜索服务根据预先设置的第一配置信息,获取与该搜索服务对应的索引服务端中索引文件的索引文件版本信息,并获取该搜索服务中的本地索引文件的本地索引文件版本信息,通过将索引文件版本信息以及本地索引文件版本信息的对比,实现对本地索引文件的更新,进而完成对搜索引擎的创建过程,本发明在搜索引擎创建过程中,通过在索引文件生成和搜索服务分别进行分布式部署的同时,进行同步更新,实现了在支持高并发大数量级的访问以及集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。【专利附图】
【附图说明】
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明实施例一提供的一种搜索引擎创建方法流程图;
[0036]图2为本发明实施例二提供的一种索引文件创建方法流程图;
[0037]图3为本发明实施例三提供的一种搜索引擎创建装置的结构示意图。
【具体实施方式】
[0038]为了使本【技术领域】的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0039]实施例一:
[0040]图1为本发明实施例一提供的一种搜索引擎创建方法流程图。
[0041 ] 如图1所示,该方法包括:
[0042]步骤101、判断是否存在与该搜索服务对应的索引服务端。
[0043]在本发明实施例中,搜索服务响应接收到的同步更新请求,该同步更新请求为:当开启搜索服务时,接收到的同步更新请求,或者,接收到的以预先设定的第二频率发送的同步更新请求。
[0044]当搜索服务接收到同步更新请求后,会根据预先设置的第一配置信息,判断是否存在与搜索服务对应的索引服务端,且该第一配置信息为:与该搜索服务对应的索引服务端的信息。在本发明实施例中,根据预先设置的第一配置信息,判断是否存在与该搜索服务对应的索引服务端的过程如下:搜索服务根据与其对应的索引服务端的信息,查找到相应的索引服务端,且优选的,只有在索引服务端已实现同步服务端的过程后,才可以被相应的搜索服务器查找到,并且,优选的,索引服务端同步服务端的过程为:启动索引服务端中索引文件同步服务端。
[0045]在本发明实施例中,优选的,与搜索服务对应的索引服务端,为与该搜索服务对应的区域(如:该区域指的是为河北的用户提供搜索服务的区域)中的各个索引服务端。
[0046]步骤102、分别获取各个索引服务端中索引文件的索引文件版本信息。
[0047]在本发明实施例中,当存在与搜索服务对应的索引服务端时,执行该步骤102、分别获取各个索引服务端中索引文件的索引文件版本信息。
[0048]在本发明实施例中,优选的,每个索弓I服务端中的索引文件由至少一个索弓I文件块(该索引文件块是按照预先设定的大小,将索引文件所划分成的)组成,且在该索引文件服务端中还存储有分别与每个索引文件块对应的索引信息,当存在与搜索服务对应的索引服务端时,获取各个索引服务端中的索引信息中所携带的索引文件版本信息。
[0049]步骤103、获取搜索服务中本地索引文件的本地索引文件版本信息。[0050]在本发明实施例中,当获取到各个索引服务端中索引文件的索引文件版本信息后,还需要获取搜索服务中本地索引文件的本地索引文件版本信息。
[0051]在本发明实施例中,优选的,索引服务中存储有与本地索引文件,并且该本地索引文件也是由至少一个本地索引文件块组成,且在该搜索服务中还存储有分别与每个本地索引文件块对应的本地索引信息,当获取到各个索引服务端中索引文件的索引文件版本信息后,需要获取搜索服务中本地索引信息中携带的本地索引文件版本信息。
[0052]并且,在本发明实施例中,并不限定步骤102与步骤103的执行顺序,发明人可以根据自己的需求任意调整该顺序,在此不再详细介绍。
[0053]步骤104、通过将索引文件版本信息以及本地索引文件版本信息进行对比,获取索引文件版本更新信息。
[0054]在本发明实施例中,当分别获取到索引文件版本信息以及本地索引文件版本信息后,需要将该索引文件版本信息以及本地索引文件版本信息进行对比,获取索引文件版本更新信息(该索引文件版本更新信息为:索引文件版本信息相对于本地索引文件的更新信息,也就是本地索引文件需要更新的信息)。
[0055]步骤105、根据索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索弓I文件进行更新。
[0056]在本发明实施例中,当获取到索引文件版本更新信息后,需要在索引服务端根据该索引文件版本更新信息获取相应的索引文件更新碎片(即:在索引服务端中存储的与该索引文件版本更新信息对应的各个索引文件块),并根据获取到的索引文件更新碎片,更新搜索服务中存储的本地索引文件,进而完成对搜索引擎的创建过程。
[0057]进一步的,本发明实施例提供的一种搜索引擎创建方法,还包括:判断搜索服务的本地索引文件是否为空。
[0058]在本发明实施例中,在通过将索弓I文件版本信息以及本地索引文件版本信息进行对比,获取索引文件版本更新信息之前,还包括:判断本地索引文件是否为空,当本地索引文件不为空时,直接执行步骤104 ;当本地索引文件为空时,优选的,不再通过将索引文件版本信息以及本地索引文件版本信息进行对比,获取索引文件版本更新信息,而是直接将索弓I文件版本信息作为索引文件版本更新信息。
[0059]进一步的,本发明实施例提供的一种搜索引擎创建方法,还包括:判断是否存在索引文件的更新。
[0060]在本发明实施例中,在获取索引文件版本更新信息之前,还包括:判断是否存在索引文件的更新,该判断是否存在索引文件更新的过程为:通过将将索引文件版本信息以及本地索引文件版本信息进行对比,当此二者相同时,表示不存在索引文件的更新,则流程结束;当此二者不同时,表示存在索引文件的更新,则根据索引文件版本信息以及本地索引文件版本信息,获取索引文件版本更新信息。
[0061]本发明提供一种搜索引擎创建方法,搜索服务根据预先设置的第一配置信息,获取与该搜索服务对应的索引服务端中索引文件的索引文件版本信息,并获取该搜索服务中的本地索引文件的本地索引文件版本信息,通过将索引文件版本信息以及本地索引文件版本信息的对比,实现对本地索引文件的更新,进而完成对搜索引擎的创建过程,本发明在搜索引擎创建过程中,通过在索引文件生成和搜索服务分别进行分布式部署的同时,进行同步更新,实现了在支持高并发大数量级的访问以及集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。
[0062]实施例二:
[0063]图2为本发明实施例二提供的一种索引文件创建方法流程图。
[0064]如图2所示,该方法包括:
[0065]步骤201、响应接收到的索引文件创建请求,创建索引。
[0066]在本发明实施例中,优选的,当接收到索引文件创建请求时,响应该索引文件创建请求,利用Lucene初步创建索引。
[0067]步骤202、获取数据库中与预先设置的第二配置信息对应的目的数据。
[0068]在本发明实施例中,当创建索引后,需要根据预先设置的第二配置信息,获取数据库中与该第二配置信息对应的目的数据。且优选的,该第二配置信息为服务类型信息和/或区域信息,其中,服务类型信息为:书籍、服饰等,区域信息为价格、库存等。
[0069]步骤203、利用索引以及目的数据,创建索引文件。
[0070]在本发明实施例中,当从数据库中获取目的数据后,需要根据预先设置的文件大小,将目的数据划分为至少一个索引文件块,并根据索引以及划分得到的各个索引文件块创建索引文件(该被创建的索引文件中包括:目的数据被划分成的各个索引文件块)。
[0071]进一步的,在本发明实施例提供的一种索引文件创建方法中,还包括:索引服务端根据预先设定的第一频率,监控数据库中的目的数据是否发生变化。
[0072]在本发明实施例中,当索引服务端创建完成索引文件后,该索引服务端还需要以预先设定的第一频率,监控数据库中与该索引服务端对应的目的数据是否发生变化,当目的数据发生变化时,则根据数据库中目的数据的变化,更新索引服务端中的索引文件;当目的数据没有发生变化,则结束流程,并根据预先设定的第一频率,当下次需要监控目的数据时,重新执行对目的数据的监控操作。
[0073]在本发明实施例中,通过根据对数据库中目的数据的监控,完成对索引服务端中创建的索引文件的更新过程,保证了对索引服务端中索引文件的实时更新,进而保证了数据搜索的准确性。
[0074]且在本发明实施例中,优选的,预先设定的第一频率低于预先设定的第二频率,索引服务端中的索引文件通过预先设定的第一频率、与数据库进行更新,且搜索服务中的本地索引文件通过预先设定的第二频率、与索引服务端中的索引文件进行更新,且通过设定第一频率低于第二频率,使得搜索服务中的本地索引文件实时完成与数据库的更新,进而更好的保证了数据搜索的准确性。
[0075]本发明实施例提供一种索引文件创建方法,该方法首先响应接收到的索引文件创建请求,创建索引,并获取数据库中与预先设置的第二配置信息对应的目的数据,最后利用创建得到的索引以及获取的目的数据,创建索引文件,完成对索引文件的创建过程,本发明实施例通过提供该索引文件创建过程,使得本发明提供的搜索引擎创建方法更加完善、清晰、方便理解。
[0076]实施例三:
[0077]图3为本发明实施例三提供的一种搜索引擎创建装置的结构示意图。
[0078]如图3所示,该装置包括:第一判断单元1、索引文件版本信息获取单元2、本地索引文件版本信息获取单元3、索引文件版本更新信息获取单元4以及本地索引文件更新单J Li 5 ο
[0079]其中,第一判断单元I用于响应接收到的同步更新请求,根据预先设置的第一配置信息,判断是否存在与搜索服务对应的索引服务端。
[0080]索引文件版本信息获取单元2与第一判断单元I相连接,用于当存在与该搜索服务对应的索引服务端时,分别获取各个索引服务端中索引文件的索引文件版本信息。
[0081]本地索引文件版本信息获取单元3用于获取搜索服务中本地索引文件的本地索引文件版本信息。
[0082]索引文件版本更新信息获取单元4的一端与索引文件版本信息获取单元2相连接,另一端与本地索引文件版本信息获取单元3相连接,用于通过将索引文件版本信息以及本地索弓I文件版本信息进行对比,获取索引文件版本更新信息。
[0083]本地索引文件更新单元5与索引文件版本更新信息获取单元4相连接,用于根据索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索引文件进行更新,完成对搜索引擎的创建过程。
[0084]进一步的,本发明提供的搜索引擎创建装置,还包括:第二判断单元,
[0085]第二判断单元的一端与本地索引文件版本信息获取单元3相连接,另一端与索引文件版本更新信息获取单元4相连接,用于在索引文件版本更新信息获取单元通过将索引文件版本信息以及本地索引文件版本信息进行对比,获取索引文件版本更新信息之前,判断搜索服务的本地索引文件是否为空。
[0086]进一步的,本发明提供的搜索引擎创建装置,还包括:第三判断单元,
[0087]第三判断单元的一端与第二判断单元相连接,另一端与本地索引文件版本信息获取单元相连接,用于通过将索引文件版本信息以及本地索引文件版本信息进行对比,判断是否存在索引文件的更新。
[0088]本发明提供一种搜索引擎创建装置,该装置根据预先设置的第一配置信息,获取与搜索服务对应的索引服务端中索引文件的索引文件版本信息,并获取该搜索服务中的本地索引文件的本地索引文件版本信息,通过将索引文件版本信息以及本地索引文件版本信息的对比,实现对本地索引文件的更新,进而完成对搜索引擎的创建过程,本发明在搜索引擎创建过程中,通过在索引文件生成和搜索服务分别进行分布式部署的同时,进行同步更新,实现了在支持高并发大数量级的访问以及集群内的硬件和软件设备进行扩展和备份的基础上,保证数据搜索的实时性和准确性。
[0089]本发明中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0090]以上仅是本发明的优选实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种搜索引擎创建方法,其特征在于,包括: 搜索服务响应接收到的同步更新请求,根据预先设置的第一配置信息,判断是否存在与该搜索服务对应的索引服务端,当存在时,分别获取各个所述索引服务端中索引文件的索引文件版本信息; 获取所述搜索服务中本地索引文件的本地索引文件版本信息; 通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息; 根据所述索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索引文件进行更新,完成对搜索引擎的创建过程。
2.根据权利要求1所述的方法,其特征在于,通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息之前,还包括: 判断所述搜索服务的本地索引文件是否为空。
3.根据权利要求2所述的方法,其特征在于,在获取索引文件版本更新信息之前,还包括: 判断是否存在索引文件的更新。
4.根据权利要求3所述的方法,其特征在于,所述索引服务端中索引文件的创建过程为: 响应接收到的索引文件创建请求,创建索引; 获取数据库中与预先设置的第二配置信息对应的目的数据; 利用所述索引以及所述目的数据,创建索引文件。
5.根据权利要求4所述的方法,其特征在于,还包括:所述索引服务端根据预先设定的第一频率,监控所述数据库中的目的数据是否发生变化; 当所述目的数据发生变化时,根据该目的数据的变化,更新所述索引服务端中的索引文件。
6.根据权利要求5所述的方法,其特征在于,所述搜索服务响应接收到的同步更新请求,包括: 所述搜索服务响应接收到的以预先设定的第二频率发送的同步更新请求。
7.一种搜索引擎创建装置,其特征在于,包括:第一判断单元、索引文件版本信息获取单元、本地索引文件版本信息获取单元、索引文件版本更新信息获取单元以及本地索引文件更新单兀,其中, 所述第一判断单元用于响应接收到的同步更新请求,根据预先设置的第一配置信息,判断是否存在与搜索服务对应的索引服务端; 所述索引文件版本信息获取单元与所述第一判断单元相连接,用于当存在与该搜索服务对应的索引服务端时,分别获取各个所述索引服务端中索引文件的索引文件版本信息;所述本地索引文件版本信息获取单元用于获取所述搜索服务中本地索引文件的本地索引文件版本信息; 所述索引文件版本更新信息获取单元的一端与所述索引文件版本信息获取单元相连接,另一端与所述本地索引文件版本信息获取单元相连接,用于通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息;所述本地索引文件更新单元与所述索引文件版本更新信息获取单元相连接,用于根据所述索引文件版本更新信息,在索引服务端获取相应的索引文件更新碎片,对本地索引文件进行更新,完成对搜索引擎的创建过程。
8.根据权利要求7所述的装置,其特征在于,还包括:第二判断单元, 所述第二判断单元的一端与所述本地索引文件版本信息获取单元相连接,另一端与所述索引文件版本更新信息获取单元相连接,用于在所述索引文件版本更新信息获取单元通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,获取索引文件版本更新信息之前,判断所述搜索服务的本地索引文件是否为空。
9.根据权利要求8所述的装置,其特征在于,还包括:第三判断单元, 所述第三判断单元的一端与所述第二判断单元相连接,另一端与所述本地索引文件版本信息获取单元相连接,用于通过将所述索引文件版本信息以及所述本地索引文件版本信息进行对比,判断是否存在索引文件的更新。
【文档编号】G06F17/30GK103955498SQ201410161830
【公开日】2014年7月30日 申请日期:2014年4月22日 优先权日:2014年4月22日
【发明者】杨威, 张海旭, 王清霞 申请人:北京联时空网络通信设备有限公司