发明名称 | 一种基于HBase的构建和检索增量索引的方法 | ||
摘要 | 本发明公开了一种基于HBase的构建和检索增量索引的方法,包括以下步骤:基于HBase的列存储机制设计索引的存储结构,使用三个数据表分别保存原始文本、索引信息和统计信息;设计面向Web的待索引文本获取接口,提供基于HTTP协议的文本索引服务;对持续增加的文本构建增量索引,当新的待索引文本产生并到达时,索引系统不重新将全部数据构建索引,将新增文本的索引追加存储到已有索引中,在存储索引时,先将所有文本内容以及索引信息其放入缓冲区,当缓冲区的数据量达到阈值时批量写入数据;提供多种格式结果的检索服务接口,用户通过面向Web的接口使用检索服务,检索系统将按照用户提交的搜索请求进行检索并按用户的要求对检索结果进行格式化。 | ||
申请公布号 | CN103390038B | 申请公布日期 | 2016.03.30 |
申请号 | CN201310298976.7 | 申请日期 | 2013.07.16 |
申请人 | 西安交通大学 | 发明人 | 郑庆华;董博;贺欢;宋凯磊;徐海鹏;马天;陈亚兴 |
分类号 | G06F17/30(2006.01)I | 主分类号 | G06F17/30(2006.01)I |
代理机构 | 西安通大专利代理有限责任公司 61200 | 代理人 | 朱海临 |
主权项 | 一种基于HBase的构建和检索增量索引的方法,其特征在于,包括下述步骤:(1)利用HBase来设计增量索引的存储结构利用HBase的数据列动态可扩展的特点,将词元作为关键字主键,将文本主键作索引存储表的列字段名称,利用HBase的分布式存储的特点,实现对大规模文本和索引信息的存储,索引系统同时为多个不同的数据源分别提供索引服务;为了有效的存储索引信息,共设计三个表:a、表T<sub>text</sub>存储索引数据的原始信息,字段包括文本主键,文本内容与来源等信息;b、表T<sub>index</sub>存储数据的索引信息,字段包括关键字主键,含有关键字的数据内容所对应的全部文本主键索引列,且表T<sub>index</sub>中的文本主键索引列随着持续增加的索引数据而动态的增加;c、表T<sub>statistic</sub>存储统计信息,包括总文本数量,总关键字数量;(2)提供面向Web的待索引文本获取接口;(3)对持续增加的文本构建增量索引当新增文本产生并到达时,索引系统将新增文本的索引追加存储到已有索引中,不重新对全部数据构建索引,具体方法为:a、根据表T<sub>statistic</sub>中的总文本数量,对新的待索引文本生成新文本主键,然后采用缓冲机制,将新文本主键和数据内容存入缓冲区,使用缓冲区将原始文本追加到表T<sub>text</sub>;b、将待索引文本分词得到词元,英文以单词为词元分词,中文以字、词作为词元分词,记录词元在内容中出现的数量、位置信息;最后,在表T<sub>index</sub>中以词元作为关键字主键进行查询,根据查询结果,增加新的索引信息,有两种情况:①如果表T<sub>index</sub>中已存在该关键字主键,则在已有的文本主键索引列基础上,将新文本主键追加为该关键字主键的索引列;②如果表T<sub>index</sub>中不存在该关键字主键,则在表T<sub>index</sub>中新增该关键字主键,并将新文本主键作为新的索引列,采用缓冲机制,将新的索引信息存入缓冲区,使用缓冲区将索引信息存入表T<sub>index</sub>,根据文本主键的数量和关键字主键的数量,将表T<sub>statistic</sub>中的总文本数量、总关键字数量等信息更新;(4)提供多种格式检索结果的服务接口。 | ||
地址 | 710049 陕西省西安市咸宁西路28号 |