一种建立索引的方法及装置的制造方法

文档序号:8498700阅读:286来源:国知局
一种建立索引的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及数据处理的技术领域,尤其涉及一种建立索引的方法及装置。
【背景技术】
[0002]在实时搜索的索引建立过程中会在内存和磁盘的存储中产生大量的索引碎片,在这种情况下,现在的策略是对索引碎片进行合并,这种方法在碎片合并到一定大小后对现有的索引碎片的合并会造成较大的合并代价,这种索引合并的方式无法避免因为碎片问题引起的更新实时性和查询QPS性能损耗问题。
[0003]构建索引和搜索服务均属于1密集型的应用,对于同一台机器上部署这两个应用就会造成1竞争的问题,严重影响索引构建和搜索服务的性能。同时,随着搜索业务规模的增大,业务数据呈现爆炸式的增长。在原有的服务器架构下构建庞大的业务数据索引所花费的时间越来越长,严重影响了搜索服务的用户体验。

【发明内容】

[0004]本发明实施例的目的在于提出一种建立索引的方法及装置,旨在解决如何提高搜索引擎的索引合并的效率问题。
[0005]为达此目的,本发明实施例采用以下技术方案:
[0006]一种建立索引的方法,所述方法包括:
[0007]监控磁盘中存储的刷入索引,合并满足预设的合并策略的刷入索引,生成合并索弓I ;
[0008]将所述合并索引与当前的全量索引根据预设的算法进行合并,生成新的全量索弓I,所述新的全量索引用于用户进行数据搜索。
[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]图1是本发明建立索引的方法第一实施例的方法流程示意图;
[0036]图2是本发明建立索引的方法第二实施例的方法流程示意图;
[0037]图3是本发明建立索引的装置的功能模块示意图;
[0038]图4是本发明建立索引的装置的功能模块示意图。
【具体实施方式】
[0039]下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
[0040]实施例一
[0041]参考图1,图1是本发明建立索引的方法第一实施例的方法流程示意图。
[0042]在实施例一中,所述建立索引的方法包括:
[0043]步骤101,监控磁盘中存储的刷入索引,合并满足预设的合并策略的刷入索引,生成合并索引;
[0044]优选地,所述监控磁盘中存储的刷入索引,合并满足预设的合并策略的刷入索引,生成合并索引,包括:
[0045]监控当前磁盘中存储的刷入索引文件,获取η个大小一致的刷入索引,合并获取到的η个大小一致的刷入索引,生成合并索引。
[0046]优选地,所述监控磁盘中存储的刷入索引,合并满足预设的合并策略的刷入索引,生成合并索引,包括:
[0047]监控磁盘中存储的刷入索引,根据所述刷入索引生成的速度预估设置合并影响因子;
[0048]当所述刷入索引大小一致的个数达到指定的合并影响因子时,则合并指定的合并影响因子的大小一致的刷入索引,生成合并索引。
[0049]具体的,在实时索引不断生成的同时,内存中会触发内存索引写盘的动作,当内存中的实时索引的大小达到一定的阈值后,则将索引写入到磁盘中进行持久化,也就产生了刷入索引。当写入磁盘的刷入索引不断增多的时候,会导致搜索任务和索引任务的性能的降低。通过对现有的刷入索引进行合并,减少索引文件的个数,达到性能的优化。
[0050]存储到磁盘的索引文件,本文采取index_flush_0、index_flush_l......等方式命名,当刷入的索引文件增多时,这些文件就必须通过合并的方式来减少文件的个数。
[0051]对于刷入索引的合并策略:监控当前磁盘中存储的刷入索引文件,采取当出现η个大小一致的刷入索引时,就对当前的刷入索引进行合并,其中的因子η可以通过测试进行选择。
[0052]合并因子η的选择策略:刷入索引生成速度较快,则需
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1