搜索:搜索引擎索引

2017-11-04  本文已影响23人  jlnbda3488375

索引基础

倒排索引

单词ID 单词 文档频率 倒排列表(DocID;TF;<POS>)
1 谷歌 3 (1;1;<1>),(2;1;<1>),(3;2;<1,6>)
2 地图 2 (1;1;<3>),(2;1;<3>)

以单词地图为例,单词编号即为2,文档频率为2,证明整个文档集合中有2个文档包含这个单词,对应的倒排列表为{(1;1;<3>),(2;1;<3>)},其含义为在文档1和文档2 中出现过这个单词,单词的频率都为1,单词“地图”在文档中出现的位置都是3,即文档中第3个单词是“地图”。

在实际的搜索引擎系统中,并不存储倒排索引项中的实际文档编号,取而代之的是文档编号差值(D-Gap)。eg:原始的3个文档的编号分别是187、196、199,在实际存储时就转化为187、9、3。
进行差值编号的原因是为了更好的对数据进行压缩;

单词词典

单词词典是倒排索引中非常重要的组成部分,它用来维护文档集合中出现过的所有单词的相关信息。
高效的数据结构对于搜索效率的影响很大,常用的数据结构包括哈希加链表结构和树形词典结构;

  • 哈希算法
    哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。
    哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时 ,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
上一篇 下一篇

猜你喜欢

热点阅读