InfoMall数据检索服务的设计以及全文检索系统的初步实现杨志丰InfoMall万维网信息博物馆中国万维网历史信息的存储和展示系统维护2001年以来从中国万维网上搜集的近12亿篇网页(约20TeraByte)以每月1000万的速度增长现有服务及问题目前提供三种服务根据URL检索历史网页提供人工整理的历史事件专题回放免费提供网页和日志数据局限访问途径单一(只能通过URL)整理历史事件专题需要大量的人工工作只能获得某个时间段搜集的全部网页,且免费数据的获取需要很多人工维护工作InfoMall数据检索服务目的整合现有服务通过统一的数据访问接口,提供更加丰富,更加自动和便利的数据服务InfoMall数据检索服务提供以InfoMall历史网页文档为核心数据,以内容、空间、时间为查询纬度的,面向高层应用的客户服务器体系结构的数据检索服务。“三维”的数据模型检索服务原语AugmentedBNF语法定义(部分摘录如下)query=“select”data-type“from”data-repository“where”1*conditions[“max”maximum-item-number]conditions=content-condition/time-condition/location-condition例子selectWeb-pagesfrom民主timebetween1997-02to2005-02locationatGEO:150000locationatURL:*.gov.cn”系统组成全文检索系统索引构建流程(1)从文档源取得文档(2)对文档进行分词得到DocID,Term,Positions三元组(3)查看词典,把新出现的索引词合并到词典中,得到DocID,TermID,Positions(4)当DocID,TermID,Positions三元组的数量恰好填满内存时,对整个三元组集合执行快速排序(5)使用“游程编码”处理递增排序的三元组,然后编码压缩,输出到临时顺串文件(runfile)(6)对所有顺串文件执行多路归并,结果输出为最终索引文件(7)将最终得到的词典存入文件索引压缩目的减少索引数据空间提高索引构建的速度方法第一步,游程编码,也就是把递增整数序列变换为差分序列(原来相邻整数之间的增量序列)第二步,采用某种编码方法对整数进行编码编码方法统计方法哈夫曼编码(Huffmancoding)算术编码(arithmeticcoding)特定分布的ad-hoc编码UnaryCode(Pr[x]=2-x)DeltaCodeGolombCode字典方法Ziv-Lempel编码12log1loglog21Pr[]22logxxxxx1Pr[]1xxpp实验结果本文贡献设计了一个服务:如何利用宝贵的历史网页数据提供公共信息服务以充分发挥信息作为研究工作基础设施的作用设计和实现了全文索引系统:重点讨论了利用压缩技术减少全文索引的倒排文件索引的大小,为海量历史网页数据的检索服务提供现实可行的基础设施保障谢谢!