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

文档序号:8498701阅读:来源:国知局
成的索引,有它与当前的全量索引进行合并,生成新的全量索引,也对外提供搜索服务。
[0064]步骤103,将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索。
[0065]优选地,所述将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,包括:
[0066]将所述合并索引与当前的全量索引进行合并,生成新的全量索引和新的合并任务,建立所述新的全量索引和所述新的合并任务的连接;
[0067]将所述新的全量索引存储到存储模块中,监控是否完成所述当前全量索引对应的搜索任务;
[0068]在监控到已完成所述当前全量对应的搜索任务后,删除所述当前全量索引。
[0069]具体的,当合并索引的数量增加时,将合并索引与全量索引进行合并,生成相关的合并任务。将合并任务提交给分布式计算集群进行合并索引和全量索引的合并,合并后的新的全量索引存储到存储模块中,监控现在对于旧的全量索引的搜索任务,将新的搜索任务连接到新的全量索引,等待旧的全量索引上的搜索任务的完成,新的全量索引平滑切换旧的全量索引,当全量索引切换完成,删除旧的全量索引,新的全量索引开始全面对外提供搜索任务。
[0070]本发明实施例通过建立采集的索引数据的刷入索引;根据预设的第一算法合并所述刷入索引,生成合并索引;将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索,从而实现对大量的数据进行实时索引时,会造成大量的索引文件碎片,通过分布式计算对索引碎片与全量索引进行合并,降低了索引碎片对搜索性能的影响。
[0071]实施例二
[0072]参考图2,图2是本发明数据搜索的方法第一实施例的方法流程示意图。
[0073]在实施例一的基础上,所述方法还包括:
[0074]步骤104,对采集的数据的类型进行判别;
[0075]步骤105,若采集的数据的类型为搜索数据时,则获取所述搜索数据中的关键词组合,搜索所述关键词组合对应的数据内容,并将所述数据内容进行合并后发送给用户;
[0076]若采集的数据的类型为索引数据时,则执行步骤101。
[0077]具体的,对搜索请求的数据进行逻辑处理,逻辑处理包括与、或、非等,对搜索数据行分词处理,获取搜索关键词组合,根据关键词组合请求索引合并模块,索引合并模块将搜索结果返回给搜索合并模块,搜索合并模块将结构进行一定的合并。
[0078]实施例三
[0079]参考图3,图3是本发明数据搜索的方法第一实施例的方法流程示意图。
[0080]在实施例二的基础上,所述方法还包括:
[0081]步骤106,将采集的索引数据以写日志的方式写入预设的内存区,将所述日志写入存储模块。
[0082]具体的,将采集的索引数据以写日志的方式写入专属内存区,数据接收模块按照一定的机制(时间间隔、日志大小)将数据刷入存储模块,所述存储模块中存储着对应的日志文件,并以追加的方式写入。
[0083]实施例四
[0084]参考图4,图4是本发明数据搜索的装置的功能模块示意图;
[0085]在实施例四中,所述数据搜索的装置包括:
[0086]建立单元401,用于建立采集的索引数据的刷入索引;
[0087]具体的,通过采集模块获取数据,对采集的数据的类型进行判别。当采集数据的类型为索引数据时,建立索引数据的刷入索引。
[0088]其中,刷入索引是刷入磁盘的子索引,没有进行合并,而且大小较小,不对外提供搜索服务,合并刷入索引后生成合并索引。
[0089]第一生成单元402,用于根据预设的第一算法合并所述刷入索引,生成合并索引;
[0090]优选地,所述第一生成单元402,用于:
[0091]将所述刷入索引存储到内存的索引A区;
[0092]当存入到所述索引A区的刷入索引的大小达到预设的第一阈值时,则将所述索引A区的刷入索引的数据复制到内存的索引B区;
[0093]当存入到所述索引B区的刷入索引的大小达到预设的第二阈值时,则将所述索引B区的刷入索引的数据写入存储模块中。
[0094]具体的,建立索引数据的索引,并将建立后的索引存储到内存的索引A区,当内存索引A区的大小达到阈值,则将内存索引A区的数据拷贝到索引B区,将内存索引B区的索引刷入存储空间中,以子索引形式切区分于全量索引存储。
[0095]其中,所述全量索引为合并出的最大的索引集合,并对外提供搜索服务。
[0096]所述合并索引是由刷入索引按照一定机制合并后形成的索引,有它与当前的全量索引进行合并,生成新的全量索引,也对外提供搜索服务。
[0097]第二生成单元403,用于将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索。
[0098]优选地,所述第二生成单元403,用于:
[0099]将所述合并索引与当前的全量索引进行合并,生成新的全量索引和新的合并任务,建立所述新的全量索引和所述新的合并任务的连接;
[0100]将所述新的全量索引存储到存储模块中,监控是否完成所述当前全量索引对应的搜索任务;
[0101]在监控到已完成所述当前全量对应的搜索任务后,删除所述当前全量索引。
[0102]具体的,当合并索引的数量增加时,将合并索引与全量索引进行合并,生成相关的合并任务。将合并任务提交给分布式计算集群进行合并索引和全量索引的合并,合并后的新的全量索引存储到存储模块中,监控现在对于旧的全量索引的搜索任务,将新的搜索任务连接到新的全量索引,等待旧的全量索引上的搜索任务的完成,新的全量索引平滑切换旧的全量索引,当全量索引切换完成,删除旧的全量索引,新的全量索引开始全面对外提供搜索任务。
[0103]本发明实施例通过建立采集的索引数据的刷入索引;根据预设的第一算法合并所述刷入索引,生成合并索引;将所述合并索引与当前的全量索引根据预设的第二算法进行合并,生成新的全量索引,所述新的全量索引用于用户进行数据搜索,从而实现对大量的数据进行实时索引时,会造成大量的索引文件碎片,通过分布式计算对索引碎片与全量索引进行合并,降低了索引碎片对搜索性能的影响。
[0104]实施例五
[0105]参考图5,图5是本发明数据搜索的装置的功能模块示意图。
[0106]在实施例五中,所述装置还包括:
[0107]判别单元404,用于对采集的数据的类型进行判别;
[0108]搜索单元405,用于若采集的数据的类型为搜索数据时,则获取所述搜索数据中的关键词组合,搜索所述关键词组合对应的数据内容,并将所述数据内容进行合并后发送给用户;
[0109]建立单元401,用于若采集的数据的类型为索引数据时,则执行建立采集的索引数据的刷入索引。
[0110]具体的,对搜索请求的数据进行逻辑处理,逻辑处理包括与、或、非等,对搜索数据行分词处理,获取搜索关键词组合,根据关键词组合请求索引合并模块,索引合并模块将搜索结果返回给搜索合并模块,搜索合并模块将结构进行一定的合并。
[0111]实施例六
[0112]参考图6,图6是本发明数据搜索的装置的功能模块示意图。
[0113]在实施例六中,所述装置还包括:
[0114]写入单元406,用于将采集的索引数据以写日志的方式写入预设的内存区,将所述日志写入存储模块。
[0115]具体的,将采集的索引数据以写日志的方式写入专属内存区,数据接收模块按照一定的机制(时间间隔、日志大小)将数据刷入存储模块,所述存储模块中存储着对应的日
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1