• 一种基于HBase的更新增量索引的方法

    • 摘要:

      本发明公开了一种基于HBase的更新增量索引的方法,包括以下步骤:通过待更新文档D的标识符,从HBase索引库中获取待更新文档D的历史内容C0;解析历史内容C0,获取其全部术语的前置表FT0;解析待更新文档D的当前内容C1,获取其全部术语的前置表FT1;遍历前置表FT1,对FT1中每个术语t,结合FT0进行判断,修改前置表FT1和FT0的内容,将需要删除的术语保留在前置表FT0中,将需要增加或更新的术语保留在FT1中;将FT0中的所有术语t从HBase索引库中删除;将FT1中的所有术语提交到HBase索引库进行更新;将待更新文档D的内容替换为C1,完成待更新文档的索引更新.

    • 专利类型:

      发明专利

    • 申请/专利号:

      CN201410025773.5

    • 申请日期:

      2014.01.20

    • 公开/公告号:

      CN103778219A

    • 公开/公告日:

      2014-05-07

    • 发明人:

      郑庆华 贺欢 李冰 董博 李庆喻

    • 申请人:

      西安交通大学%上海网达软件股份有限公司

    • 主分类号:

      G06F17/30(2006.01)I,G,G06,G06F,G06F17

    • 分类号:

      G06F17/30(2006.01)I,G,G06,G06F,G06F17,G06F17/30

    • 主权项:

      一种基于HBase的更新增量索引的方法,其特征在于,包括下述步骤:(1)从HBase索引库中获取待更新文档D的历史内容C0待更新文档D的历史内容在HBase索引库中已经存在,包括其内容文本与内容文本的索引,通过待更新文档D的标识符,从HBase索引库中读取其历史内容;(2)解析待更新文档D的历史内容C0,获取C0的前置表FT0;(3)解析待更新文档D的当前内容C1,获取C1的前置表FT1;(4)遍历C1的前置表FT1,对FT1中每个术语t,结合FT0进行判断,修改前置表FT1和FT0的内容,具体方法如下:判断FT0中是否存在术语t,分别进行如下处理:a、如果不存在,则继续判断FT1的下一个术语;b、如果存在,则判断该术语t的出现频率出现位置与FT0中术语t的出现频率出现位置是否都相同,分别进行如下处理:i、如果都相同,则将该术语t以及t的出现频率出现位置从FT0和FT1中删除;ii、如果任一不相同,则将该术语t以及出现频率出现位置从FT0中删除;(5)将FT0中的所有术语t从HBase索引库中删除步骤(4)执行完毕后,FT0中的全部术语都是待更新文档D的当前内容C1中不再存在的术语,所以更新时应从HBase索引库中删除这些术语对应的索引信息,在HBase索引库中,以FT0中的术语t作为主键,以待索引文档D的标识符作为列字段,在HBase索引库中进行查询,将对应位置的索引信息删除;(6)将FT1中的所有术语提交到HBase索引库进行更新步骤(4)执行完毕后,FT1中的全部术语都是待更新文档D的当前内容C1对比历史内容C0发生变化的术语,所以更新时应将这些术语的信息提交给HBase索引库,更新对应术语的索引信息,更新索引时,在HBase索引库中,以FT1中的术语t作为主键,以待索引文档D作为列字段在HBase索引库中进行查询,将对应位置的索引信息替换为FT1中术语t的出现频率与出现位置;(7)将待更新文档D的内容替换为C1.