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

文档序号:8498701阅读:166来源:国知局
一种数据搜索的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及数据处理的技术领域,尤其涉及一种数据搜索的方法及装置。
【背景技术】
[0002]当数据量大的时候,索引的建立需要消耗大量的时间和10,而搜索也属于1密集型,将严重影响搜索业务的性能和用户的体验。同时,对于实时搜索引擎来说,索引的碎片化的问题会很严重,因此,随着搜索业务的不断发展,网络数据也呈现井喷式的增长,随之而来的实时数据搜索的问题也越来越严重,无法实现数据信息的近实时查询。

【发明内容】

[0003]本发明实施例的目的在于提出一种数据搜索的方法及装置,旨在解决如何实现数据的近实时查询的问题。
[0004]为达此目的,本发明实施例采用以下技术方案:
[0005]一种数据搜索的方法,所述方法包括:
[0006]建立采集的索引数据的刷入索引;
[0007]根据预设的第一算法合并所述刷入索引,生成合并索引;
[0008]将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索。
[0009]优选地,所述根据预设的第一算法合并所述刷入索引,生成合并索引,包括:
[0010]将所述刷入索引存储到内存的索引A区;
[0011]当存入到所述索引A区的刷入索引的大小达到预设的第一阈值时,则将所述索引A区的刷入索引的数据复制到内存的索引B区;
[0012]当存入到所述索引B区的刷入索引的大小达到预设的第二阈值时,则将所述索引B区的刷入索引的数据写入存储模块中。
[0013]优选地,所述将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,包括:
[0014]将所述合并索引与当前的全量索引进行合并,生成新的全量索引和新的合并任务,建立所述新的全量索引和所述新的合并任务的连接;
[0015]将所述新的全量索引存储到存储模块中,监控是否完成所述当前全量索引对应的搜索任务;
[0016]在监控到已完成所述当前全量对应的搜索任务后,删除所述当前全量索引。
[0017]优选地,所述方法在建立采集的索引数据的刷入索引之前,还包括:
[0018]对采集的数据的类型进行判别;
[0019]若采集的数据的类型为搜索数据时,则获取所述搜索数据中的关键词组合,搜索所述关键词组合对应的数据内容,并将所述数据内容进行合并后发送给用户;
[0020]若采集的数据的类型为索引数据时,则执行建立采集的索引数据的刷入索引的步骤。
[0021]优选地,所述方法还包括:
[0022]将采集的索引数据以写日志的方式写入预设的内存区,将所述日志写入存储模块。
[0023]一种数据搜索的装置,所述装置包括:
[0024]建立单元,用于建立采集的索引数据的刷入索引;
[0025]第一生成单元,用于根据预设的第一算法合并所述刷入索引,生成合并索引;
[0026]第二生成单元,用于将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索。
[0027]优选地,所述第一生成单元,用于:
[0028]将所述刷入索引存储到内存的索引A区;
[0029]当存入到所述索引A区的刷入索引的大小达到预设的第一阈值时,则将所述索引A区的刷入索引的数据复制到内存的索引B区;
[0030]当存入到所述索引B区的刷入索引的大小达到预设的第二阈值时,则将所述索引B区的刷入索引的数据写入存储模块中。
[0031]优选地,所述第二生成单元,用于:
[0032]将所述合并索引与当前的全量索引进行合并,生成新的全量索引和新的合并任务,建立所述新的全量索引和所述新的合并任务的连接;
[0033]将所述新的全量索引存储到存储模块中,监控是否完成所述当前全量索引对应的搜索任务;
[0034]在监控到已完成所述当前全量对应的搜索任务后,删除所述当前全量索引。
[0035]优选地,所述装置还包括:
[0036]判别单元,用于对采集的数据的类型进行判别;
[0037]搜索单元,用于若采集的数据的类型为搜索数据时,则获取所述搜索数据中的关键词组合,搜索所述关键词组合对应的数据内容,并将所述数据内容进行合并后发送给用户;
[0038]建立单元,用于若采集的数据的类型为索引数据时,则执行建立采集的索引数据的刷入索引。
[0039]优选地,所述装置还包括:
[0040]写入单元,用于将采集的索引数据以写日志的方式写入预设的内存区,将所述日志写入存储模块。
[0041]本发明实施例通过建立采集的索引数据的刷入索引;根据预设的第一算法合并所述刷入索引,生成合并索引;将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索,从而实现对大量的数据进行实时索引时,会造成大量的索引文件碎片,通过分布式计算对索引碎片与全量索引进行合并,降低了索引碎片对搜索性能的影响。
【附图说明】
[0042]图1是本发明数据搜索的方法第一实施例的方法流程示意图;
[0043]图2是本发明数据搜索的方法第二实施例的方法流程示意图;
[0044]图3是本发明数据搜索的方法第三实施例的方法流程示意图;
[0045]图4是本发明数据搜索的装置的功能模块示意图;
[0046]图5是本发明数据搜索的装置的功能模块示意图;
[0047]图6是本发明数据搜索的装置的功能模块示意图;
[0048]图7是本发明数据搜索的装置的功能模块示意图。
【具体实施方式】
[0049]下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
[0050]实施例一
[0051]参考图1,图1是本发明数据搜索的方法第一实施例的方法流程示意图。
[0052]在实施例一中,所述数据搜索的方法包括:
[0053]步骤101,建立采集的索引数据的刷入索引;
[0054]具体的,通过采集模块获取数据,对采集的数据的类型进行判别。当采集数据的类型为索引数据时,建立索引数据的刷入索引。
[0055]其中,刷入索引是刷入磁盘的子索引,没有进行合并,而且大小较小,不对外提供搜索服务,合并刷入索引后生成合并索引。
[0056]步骤102,根据预设的第一算法合并所述刷入索引,生成合并索引;
[0057]优选地,所述根据预设的第一算法合并所述刷入索引,生成合并索引,包括:
[0058]将所述刷入索引存储到内存的索引A区;
[0059]当存入到所述索引A区的刷入索引的大小达到预设的第一阈值时,则将所述索引A区的刷入索引的数据复制到内存的索引B区;
[0060]当存入到所述索引B区的刷入索引的大小达到预设的第二阈值时,则将所述索引B区的刷入索引的数据写入存储模块中。
[0061]具体的,建立索引数据的索引,并将建立后的索引存储到内存的索引A区,当内存索引A区的大小达到阈值,则将内存索引A区的数据拷贝到索引B区,将内存索引B区的索引刷入存储空间中,以子索引形式切区分于全量索引存储。
[0062]其中,所述全量索引为合并出的最大的索引集合,并对外提供搜索服务。
[0063]所述合并索引是由刷入索引按照一定机制合并后形
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1