admin管理员组

文章数量:1578033

1搜索引擎索引

      索引就是关键词与网页文件之间的一种对应关系。所以就存在两种索引:正向索引和倒排索引。当用户进行査询时,如果对本地文件全面扫描用户所提交的关键词,"查询"的工作量就太大了,而且也是很消耗服务器资源的,所以搜索引攀会把已经处理过的网页先进行索引,放到数据库中等待网民的搜索査询请求。一个网页被搜索引擎经过以上处理后,就只剩下能够体现网页主体内容的文本了,此时就可以对该网页进行索引了。

1.1正向索引

      正向索引指的是文件ID作为key,文件中提取出来的关键词(或者关键词的ID)组成的集合作为value。正向索引的结构:“文档1”的ID > 单词1:出现次数,出现位置列表;单词2:出现次数,出现位置列表;······。正向索引结构简化示意图如下图:

      这种方法与不分词没有什么区别,一样需要遍历所有的文件,唯一不同的就是分词之后遍历的是关键词集合,不分词的遍历的是整个文件。如果用户输入长尾词,则这种索引对文件内容相关度的计算会非常耗费资源
      长尾词:指网站上的非目标关键词但与目标关键词相关的也可以带来搜索流量的组合型关键词。一般构成关键词的要素基本是如下三类,品牌关键词、行业及地方关键词、通用关键词。例如,目标关键词是服装,其长尾关键词可以是男士服装、冬装、户外运动装等。长尾关键词基本属性是:可延伸性,针对性强,范围广

1.2倒排索引

      为了使得索引文件可以直接用于排名,搜索引擎会把上面的对应关系进行转换,做成倒排索引,也就是采用关键词对应文件的形式。倒排索引的结构:“关键词1”的ID > 文件1:出现次数,出现位置列表;文件2:出现次数,出现位置列表;…。倒排索引结构简化示意图如下图:

      这样的索引结构就可以直接应用于搜索排名了,比如,用户搜索关键词1,那么搜索引擎只会对包含关键词1的文件进行相关度和权重计算;用户搜索"关键词1+关键词2"组合词,那么搜索引擎就会把包含关键词1且包含关键词2的文件调出,进行相关度和权重计算。这样就大大加快了呈现排名的速度
      倒排索引中不仅仅记录了包含相应关键词文件的ID,还会记录关键词频率、每个关键词对应的文档频率,以及关键词出现在文件中的位置等信息。在排名过程中,这些信息会被分别进行加权处理,并应用到最终的排名结果中。
      在搜索引擎优化(Search Engine Optimization,SEO)操作中,会有相对应的加大关键词频率、尽量使核心关键词出现在网页的最前面, 以及关键词用H标签和变色加粗等着重标识的操作手法,这些都会被倒排索引所记录,并参与关键词相关度的计算和搜索排名。
      倒排索引在LuceneSolor已经应用。为了优化查询关键词的速度,可以采用B树和红黑树等优化算法。

参考文章:
[1] http://baijiahao.baidu/s?id=1598698371124306391&wfr=spider&for=pc

本文标签: 索引搜索引擎简单