惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

博客园 - dahai.net

常用的DOCUMENT.EXECCOMMAND WebForm中的tip - dahai.net - 博客园 修改所有用户表/存储过程/视图/触发器/自定义函数的所有者为dbo,则用游标(不要理会错误提示) 在无锡办理10万元注册资本的企业,所需要时间和费用 Win 2003下无敌权限提升方法(转) ftp讨论站连接 使用.NET实现断点续传 使用WMI创建站点和虚拟目录,并设置属性 - dahai.net - 博客园 千万数据翻页解决方案 CHM格式解析 从互联网加载图片到PictureBox1 Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版 - dahai.net [分享]千万数量级分页存储过程(带效果演示)(转) 网站分析专用名词 列出sqlserver数据库孤立用户 写数据到文件 - dahai.net - 博客园 网页模糊归类算法的应用与实现 总结字符串编码(转) 一种快速的未登陆词识别方法(原理和实现)
搜索引擎的实现原理
dahai.net · 2005-12-30 · via 博客园 - dahai.net

搜索引擎的实现原理,可以看作四步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索→对搜索结果进行处理和排序。
      1、从互联网上抓取网页
      利用能够从互联网上自动收集网页的“网络蜘蛛”自动访问互联网,从互联网上抓取网页,把网页送入“网页数据库”,从网页中“提取URL”,把URL送入“URL数据库”,“蜘蛛控制”得到网页的URL,控制“网络蜘蛛”抓取其它网页,反复循环直到把所有的网页抓取完成。
      2、建立索引数据库
      由索引系统程序对收集回来的网页进行分析,从“网页数据库”中得到文本信息,送入“文本索引”模块建立索引,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系,标题,来源,类别,是否已经被解析等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库,形成“索引数据库”。同时进行“链接信息提取”,把链接信息(包括锚文本、链接本身等信息)送入“链接数据库”,为“网页评级”提供依据。
      数据的索引分为三个步骤:网页内容的提取、词的识别、标引库的建立。
      互联网上大部分信息都是以HTML格式存在,对于索引来说,只处理文本信息。因此需要把网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的广告信息,同时记录文本的版面格式信息。
      词的识别是搜索引擎中非常关键的一部分,通过字典文件对网页内的词进行识别。对于西文信息来说,需要识别词的不同形式,例如:单复数、过去式、组合词、词根等,对于一些亚洲语言(中文、日文、韩文等)需要进行分词处理。识别出网页中的每个词,并分配唯一的wordID号,用于为数据索引中的标引模块服务。
      标引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引:文档标引和关键词标引。文档标引分配每个网页一个唯一的docID号,根据docID标引出在这个网页中出现过多少过wordID,每个wordID出现的次数、位置、大小写格式等,形成docID对应wordID的数据列表;关键词标引其实是对文档标引的逆标引,根据wordID标引出这个词出现在那些网页(用wordID表示),出现在每个网页的次数、位置、大小写格式等,形成wordID对应docID的列表。
      3、在索引数据库中搜索
      搜索的处理过程是对用户的搜索请求进行满足的过程,当用户输入关键词搜索后,通过提交查询请求给“查询服务器”,搜索服务器对应关键词字典,把搜索关键词转化为wordID,然后在标引库中得到docID列表,对docID列表进行扫描和wordID的匹配,从网页“索引数据库”中找到符合该关键词的所有相关网页。
      4、对搜索结果进行处理排序
      所有相关网页针对该关键词的相关信息在索引库中都有记录,“网页评级”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过“查询服务器”按照相关度进行排序,返回前K篇结果(不同的搜索引擎每页的搜索结果数不同)返回给用户。如果用户查看的第二页或者第多少页,重新进行搜索,把排序结果中在第K+1到2*K的网页组织返回给用户。相关度越高,排名越靠前,同时提取关键词的内容摘要。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。

posted on 2005-12-30 19:08  dahai.net  阅读(939)  评论()    收藏  举报