首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

北大天网搜索引擎TSE学习札记[2]——重要数据文件介绍

2013-01-17 
北大天网搜索引擎TSE学习笔记[2]——重要数据文件介绍 本节对系统中的主要的数据文件做一个简单的介绍,方便

北大天网搜索引擎TSE学习笔记[2]——重要数据文件介绍

 

本节对系统中的主要的数据文件做一个简单的介绍,方便后面对系统源代码的阅读和对系统的理解。以下如不特别说明,所有路径或者文件都是相对于index目录而言的,即以index为当前目录。

(1)   ./ChSeg/words.dict

为词典文件,包含该系统支持的所有中文单字、词以及标点符号等,该词典是中文分词的依据,直接决定了分词的结果。该文件中每条记录为一行,包含三项数据,第一个为序号,第二个中文词,第三个参数暂时不知道是什么,待查。图1是words.dict文件的部分截图(注意:图中黄色的数字是vim显示的行号,不是文件的内容)。

北大天网搜索引擎TSE学习札记[2]——重要数据文件介绍

图1

另外,./words.dict文件时一个链接文件,链接目标就是./ChSeg/words.dict。

(2)   ./Data/ Tianwang.raw.2559638448

为网页搜集模块抓取的原始网页数据,该文件以固定的格式(天网格式)的存储,有规定的存储格式,如下为天网格式原始网页数据文件的一部分。

        version: 1.0

        url:http://***.105.138.175/Default2.asp?lang=gb

        origin:http://***.105.138.175/

        date: Fri, 23May 2008 20:01:36 GMT

        ip:162.105.138.175

        length: 38413

 

        HTTP/1.1 200 OK

        Server: Microsoft-IIS/5.0

        Date: Fri, 23 May 2008 11:17:49 GMT

        Connection: keep-alive

        Connection: Keep-Alive

        Content-Length: 38088

        Content-Type: text/html; Charset=gb2312

        Expires: Fri, 23 May 2008 11:17:49 GMT

        Set-Cookie: ASPSESSIONIDSSTRDCAB=IMEOMBIAIPDFCKPAEDJFHOIH;path=/

        Cache-control: private

 

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

        <html>

        <head>

        ……

        version: 1.0

        url: ***

        ……

 

每一条网页记录由头部、网页数据和空行组成:头部+空行+网页数据+空行,如上面的例子中红色和黑色的部分为头部,蓝色的部分为网页数据。其中头部的第一条数据必须是版本号说明:version:1.0,所以该文件中version:1.0行是区分两条网页记录的分界处。关于原始网页数据文件的介绍可以参考《搜索》。

该文件是网页搜集模块抓取的结果,是后面进行网页分析、建立倒排索引的输入。

(3)   ./Data/Doc.idx 

为网页索引文件,这是《搜索》第四章第一节叙述的索引网页库的一部分。索引网页库的任务就是完成给定一个URL,在原始网页数据中定位到该URL所指向的记录。因为原始网页数据文件非常的大,如果不对其中的网页记录建立索引,而顺序查找的话,效率会非常的低。

网页索引文件中每条记录为一行,包含网页文件序号(在原始网页数据文件中存储的序号,记为docid)、该网页记录在原始网页数据文件中的偏移位置、网页内容的摘要。图2是Doc.idx文件的部分截图(注意:图中黄色的数字是vim显示的行号,不是文件的内容)。

北大天网搜索引擎TSE学习札记[2]——重要数据文件介绍

图2

这样,有了该文件后,通过docid很容易在原始网页数据文件中找到网页记录获取网页数据。

(4)   ./Data/Url.idx.sort_uniq

为URL索引文件,是《搜索》第四章第一节叙述的索引网页库的一部分,该文件可以实现从URL找到对应的docid。该文件很简单,其中中每条记录为一行,包含URL的摘要和docid。为了能快速的对给定的URL找到对应的docid,需要根据URL摘要进行排序,所以该文件中存储的是排序的URL到docid的映射记录。图3是Url.idx.sort_uniq文件的部分截图(注意:图中黄色的数字是vim显示的行号,不是文件的内容)。

北大天网搜索引擎TSE学习札记[2]——重要数据文件介绍

图3

这样,有了该文件后,通过对给定的URL求得摘要值,在该文件中可以找到其对应的docid,再通过Doc.idx文件可以找到网页记录。

(5)   ./Data/ sun.iidx

为倒排索引文件,是该系统中非常关键的一个文件,倒排索引方法也是现代搜索引擎普遍使用的方法。说到倒排索引文件,其实还有正向索引文件,倒排索引文件就是在正向索引文件的基础上生成的。简而言之,正向索引文件是指网页文件到关键词的映射,而倒排索引文件是指关键词到网页文件的映射,关于二者的详细叙述可以参考《搜索》或网上的相关资料。

倒排索引文件中会记录所有在原始网页数据中出现的关键词(在本系统使用的字典中出现的字词,记为term)与该关键词出现的网页的映射。文件中每条记录为一行,包含term和term出现的网页的docid,term后以\t隔开,后面的docid顺序存放并以空格隔开。图4是sun.iidx文件的部分截图(注意:图中黄色的数字是vim显示的行号,不是文件的内容)。

北大天网搜索引擎TSE学习札记[2]——重要数据文件介绍

图4

该倒排索引文件非常关键,后面的关键词检索就是在该文件中查找的,先找到关键词,再获得关键词出现的网页的docid,再去读取网页记录获取网页内容。

补充:

刚开始在vim中打开sun.iidx时,里面的中文关键词显示为乱码,这是因为编码格式的问题,可以配置一下当前用户的vim配置文件(~/.vimrc),在文件中加上以下几行:

        setfileencodings=utf-8,gb2312,gbk,gb18030

        set termencoding=utf-8

        set fileformats=unix

        set encoding=prc

关于vim的编码配置问题的详细介绍,可以参考这篇文章(http://www.2cto.com/os/201111/110622.html)。

 

热点排行