搜索引擎
搜索引擎分类:
全文搜索:
1.从互联网上抓取网页,利用能够从互联网上自动收集网页的蜘蛛系统程序,自动访问互联网,并沿着任何网页中所有URL爬到其他网页,重复这个过程,并把爬过的素有网页收集回来。
2.由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL,编码类型,页面内容包含的滚见此,关键词位置,生成时间,大小,与其他网页的连接关系等),并根据一定的相关度算法进行大量的复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后利用这些相关信息建立网页索引数据库。
3.在索引数据库中搜索排序:当用户输入关键词后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所用相关网页针对该关键词的相关度早已计算好,所以只需按照现成的相关数值排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
4.对搜索结果进行处理排序:所有相关网页针对该关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关数值度,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面摘要等内容组织起来返回给用户。
分类搜索:
目录搜索引擎主要是按类目对网站进行收录。查询时不需要输入关键词,
查询是按照分类层层点击进入,便可查到所需网络资源。
元搜索引擎:
将多个单一搜索引擎集成在一起,提供统一的检索界面,将用户的检索提问同时提交给多个独立的搜索引擎,同时检索多个数据库;并根据多个独立搜索引擎的检索结果进行二次加工,如对检索结果去重、排序等;输出给自己。
Broker:按照不同搜索引擎的语法进行查询改写和分发,并收集到每个搜索引擎返回的文档列表.
Rank:对各搜索引擎返回的结果排序。
Present:对结果进行整合和界面显示。比如按照全局相关性,或者主题等。
垂直搜索引擎:
专注于特定的搜索领域和搜索需求。如机票、旅游、小说、视频、购物搜索等
搜索引擎的商业模式:
免费服务+广告。
搜索引擎工作原理:
1.从文档索引库中不断获取URL供爬行器爬取。
2.爬行器分布式,协同工作爬取url所指网页
3.存储爬取的网页到数据资源库(库中包含每个web页的全部html信息,并用zlib压缩)
3.标引器/索引器,读取资源信息,解压文档,分析网页中的所有的链接,将重要信息存在锚库(anchor),解析网页文本信息,统计词频及位置等信息(hits),并将hits分配到桶中,建立部分排序后的索引。
4.URL解析器:读取anchor文件,将链接转化成绝对url,再转化成docID。为链接描述文本编制索引,与所指向的docID关联,产生文档的链接数据库。
5.索引库:存储了文档的相关信息(以docID顺序排列。包含指向资源库的指针,文件校验和,统计表。),已抓取网页(指针指向文件内容),未抓取网页(指向包含这个URL的URL列表)。
6.分类器:从桶中读取数据,按照wordID docID进行分类和排序,然后生成倒排索引。
7.桶:存储了WordID的归类,正排和倒排索引。
8.网页级别评定器:原始的pageranker,利用连接信息计算网页的重要性。
9.查询器:接收并解析用户查询,利用词典,桶中的索引信息召回文档,并结合pagerank及文档匹配信息排序并匹配文档。
web搜索:
网页收集-
1.爬虫,爬虫抓取策略:BFS/DFS
2.预处理:结构解析->链接分析->内容分析->索引
网页处理:
网页去重
标引入库:
文本处理:
1.分词:将句子切分成词元。-IK
2.归一化:将查询和文档进行字母级别的归一化处理,如大小写
3.词干提取:将不同形式的词到词干
4.停用词:去掉非常常见的词:the/a/to/of
索引分类:
1.正排索引:文档空间->索引词空间的映射
2.倒排索引:索引词空间->文档空间的映射,主要用于召回
常见的搜索引擎:
Lucene
solr
elasticsearch
云侧:公有云搜索
端侧:知识库搜索(we know),华为视频搜索,Hag华为快服务,Bot小艺技能搜索