码迷,mamicode.com
首页 > 其他好文 > 详细

搜索引擎的基础-倒排索引

时间:2015-08-25 13:46:51      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

  昨天看hadoop视频的时候里面提到了google搜索引擎里使用的倒排索引技术,当时没有理解,今天翻阅了一些文档终于觉得拨云见日了,下面从用户在谷歌首页进行网页搜索这个角度来说明。

  首先上一张图:

 

  技术分享

  简单的来说,当用户在搜索框输入一个关键词点击查询按钮后,后台程序首先会计算出所查询词的哈希值,然后去哈希表里寻找匹配项,哈希表的每一项通过指针指向一个哈希冲突表,哈希冲突表里存放着具有相同哈希值的单词。也就是说,搜索的第一步获取一个和用户搜索关键词相同哈希值的单词列表(冲突表)。然后会用这个冲突表里的单词和用户搜索词一一比较,找到完全匹配的单词。而冲突表中的每个单词对应一个倒排列表,如下图:

  技术分享

  这是一个最简单的倒排列表,每个单词对应唯一的单词ID,每个文档(即用户搜索后返回的网页)对应唯一的DocId,倒排列表中记录着每一个单词在哪些文档中出现过。比如跳槽这个单词,在编号为1,4的文档中出现过,那么就返回编号为1,4的两个网页作为搜索结果展示在页面上。

搜索引擎的基础-倒排索引

标签:

原文地址:http://www.cnblogs.com/sheeva/p/4756886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!