白癜风治疗 的医院 http://jbk.39.net/yiyuanzaixian/bjzkbdfyy/
搜索引擎技术介绍

“大佬大佬,萌新这里过不去怎么办?”

“不会就百度啊。”

“这个BOSS该用什么装备打?”

“百度啊。”

“大佬……”“有手有脚的不会百度吗?!”

上文虽是个玩笑话,但也透露出“百度一下,你就知道”这一神奇的力量。百度这一类搜索引擎的力量但凡是在网上冲过浪的都不会陌生。由于搜索引擎涵盖的技术范围较广,这里只是介绍其较为基础而且重要的技术板块与大家分享。

在谈到搜索引擎所需的技术时,我们首先要知道,搜索引擎为什么会被创造出来,网民们为什么需要搜索引擎?其实简单想想就可以明白,这类搜索引擎产生的一个根本原因就是信息获取。

例如最近朋友给我推荐了一本书叫做《菊与刀》,但我所有的信息只有它是一本名为《菊与刀》的书。如果我需要获得更多的信息我就得先知道书的品类、部分概括等信息,这时候搜索引擎的作用就出现了。

如果我们再简单思考一下就会发现,百度其本身不提供你所需要的知识,它只提供能提供你信息的地址,这也是搜索引擎的一大基本导向。用户通过关键字查询来获取相关的网页,进而获取自己所需要的信息。早期的“搜索引擎”,分类目录浏览式搜索引擎Yahoo只是采用把一些有用的网站通过分类的方式手动组织起来。但随着互联网逐渐壮大,网站的数量越来越多,手工组织的方式已经不可行了。于是由机器实现的全文检索引擎就出现了,这也是我本文打算探讨的目前成熟的搜索引擎技术。

搜索引擎涉及的关键技术点包含了

爬虫(Crawling)

索引结构(InvertedIndex)

检索模型(VSMTF-IDF)

搜索排序(RelevanceRankingEvaluation)

链接分析(LinkAnalysis)

分类(DocumentQueryClassification)

自然语言处理(NLP:Tokenization,Lemmatization,POSTagging,NER,etc)

分布式系统(DistributedProcessingStorage)。

虽然搜索引擎涉及的技术方方面面,但归结起来最关键的几点在于:

·系统:大规模分布式系统,支撑大规模的数据处理容量和在线查询负载。

·数据:数据处理和数据挖掘能力。

·算法:搜索相关性排序、查询分析、分类等

下面我们再介绍各关键功能模块功能简介:

爬虫:又称网页蜘蛛,是一种按一定的规则,自动地抓取万维网信息的程序或脚本。

文档知识库服务器:存储原始网页数据,通常是分布式Key-Value数据库,能根据URL\UID快速获取网页内容。

索引:读取原始网页数据,解析网页,抽取有效字段,生成索引数据。

索引服务器:存储索引数据,主要是倒排表,通常是分块、分片存储,并支持增量更新和删除。

检索:读取倒排表索引,相应前端查询请求,返回相关文档列表数据。

排序:对检索器返回的文档列表进行排序,基于文档和查询的相关性、文档链接权重等属性。

链接分析:收集各网页的链接数据和锚文本,以此计算各网页链接评分,最终会作为网页属性参与返回结果排序。

网页去重:提取各网页的相关属性计算相似网页组,提供离线索引和在线去重服务。

网页反垃圾:收集各个网页和网站历史信息,提取垃圾网页特征,从而对在线索引中的网页进行判定,去除网页垃圾。

查询分析:分析用户查询,生成结构化查询请求,指派到相应的类别、主题数据服务器进行查询。

页面描述\概要:为检索和排序完成的网页列表提供相应的描述和摘要。

前端:接受用户请求,分发至相应服务器,返回查询结果。

而事实上,搜索引擎的产品也分很多种类,并不限于我们所熟悉的、最原始的搜索引擎。具体有以下几种:

·全网搜索:Google、Yahoo、Bing。

·中文搜索:中国市场上就是我们最熟悉的百度搜索一家独大,其他的例如搜狗、有道等的市场份额相对较小。

·垂直搜索:建立于传统的搜索引擎上,在各个垂直领域中另搜索结果更能和产品结合。比如淘宝的商品搜索,大众点评的美食搜索等。

·问答搜索:专注于为问句形式的搜索提供有效的答案,如国内知名问答社区知乎也有类似的功能。

其实我们已经很能在日常生活中体验到,搜索引擎已经不再像传统的搜索引擎一样单一,不仅仅是以独立的产品出现,而是作为搜索功能整合到更多的产品和应用当中,为其服务并提供更好的产品体验。

自搜索引擎快速发展的16年以来,搜索引擎对互联网技术和产品带来的影响是巨大的,未来也仍将有很大的发展和应用空间

编辑

大血藤

文字

青天葵部分摘自CSDN论坛

审校

蘼芜大血藤



转载请注明地址:http://www.daxuetenga.com/dxtszhj/5361.html