360搜索引擎虽然是半路出道,但凭借着自身的优势地位,在中国搜索引擎市场上也占据着第二名位置,当然这和搜狗搜索一直在争论,至今没有结果,这并不是我们重点将的,今天我们要做的是360搜素引擎技术一些看法。
当然搜索引擎技术在算法实现过程,实际上是比较复杂的,就目前360搜索引擎算法实现,基本已经满足搜索需求,当然由于360搜索没有真正的下苦功夫,所以我们所看到的一直都是没有任何改变的搜索引擎。
360搜索引擎技术实现的基本原理
从搜索引擎技术上看,搜索引擎的原理是一致,原理虽然简单,可是在技术上的实现可不简单,就硬件方面布局就令人头疼,那么,要想更好的利用搜索引擎为我们做服务,实现利益最大化。
1 放出蜘蛛爬行和抓取
所有的搜索引擎开发有一套称之为spider的程序,我们也习惯称之为蜘蛛,该程序的特点是通过互联网网页链接进行爬行,也就是说网址链接就是它们的路,如果没有这个东西,这个程序是无法进行有效爬行的,也无所谓的抓取,因此反向链接就显得尤为重要,当发现新的链接时,程序为自动把抓取的文件存入数据库。
2 索引的建立
抓取完的网页还需要进一步处理,比如把页面的文件进行分解,然后分析整个页面,比如关键词出现的位置,还有字体类型及颜色等,当然这些是有一个参数作为标准的,处理完之后就会形成一个表格以方便入库,这就是索引入库。
3 用户搜索词处理
这个时候就是面向用户了,通常用户在搜索某个关键词的时候,搜索引擎程序需要进一步处理,比如分词处理、去除停止词、关键词拼写是否错误等等,这方便下一步给出结果,当然这个过程不会持续太久,因为用户根本等不了超过1s的速度。
4 最佳结果排序
在处理完搜索词之后,并与索引数据进行最佳比配,当然这个时候也会对索引文件进行相关排序评估,也就是我们所说的权重分析,哪个文件相关性、内容质量高的,就优先排序,最终返回优质的搜索结果页给用户。
虽然这是简单的四步,但是要实现起来并不容易。
360搜索引擎技术涉及算法分析

这里分析两种两种索引排序,也是比较重要的两种技术,是正排序索引和倒排序索引,由于技术实现细节比较复杂,这里只是简单分析一下,以帮助大家更好的了解整个搜索引擎索引的一个过程。
正排序索引
首先我们来讲讲正排序索引,这个比较简单,就是按照常规的思路去索引文件,但由于这种索引方式效率比较低,通常不会使用这种技术,但是还是要讲讲。其基本结构表如下:
文档1->单词1->单词2……
|
文档2->单词1->单词2……
|
文档3->单词1->单词2……
|
更多文档
这里的每个文档都对应一个ID,其文档内容已经分割多个单词集合,根据关键词出现的位置及频率等进行归档,因此,实际的搜索引擎数据库中,关键词也已经转换成为关键词ID。其技术缺陷就是效率太低,比如我们在搜索“360搜索引擎”这个关键词的时候,那么,就需要从几十亿或更多的索引库中进行扫描,对于有“360搜索引擎”这些关键词的文档进行进一步归档,建立新的索引库,当然用户搜索的关键词是需要进行分词技术处理的,原理上得出的文档会更多。
把相关文档归档完毕之后,就开始进行计算关键词得分情况,以此列出,把结果通过前端展现给用户,这就是正排序索引基本技术原理。
倒排序索引
这个就比较复杂了,但还是说说,目前搜索引擎基本采取这种技术,其原理正好与正排序相反,它是从单词开始查询,然后把包含该关键词的文档返回给用户,当然不会这么简单,这里面的技术细节比较繁琐。倒排索引基本查询图表如下:
单词1->文档1->文档2……
|
单词2->文档1->文档2……
|
单词3->文档1->文档2……
|
更多文档
倒排索引包含两个重要的技术点,分别是“单词词典”和“倒排文件”,单词词典的主要作用是对单词相关信息进行整理,记载单词相关信息。倒排文件是倒排索引具体物理实现映射。
鉴于其复杂程度,后面的内容我们将详细剖析其技术细节。
顶一下
(0)
踩一下
(0)