什么是搜索引擎?
搜索引擎(英语:search engine)是一种信息检索系统,旨在协助搜索存储在计算机系统中的信息。搜索结果一般被称为“hits”,通常会以表单的形式列出。网络搜索引擎是最常见、公开的一种搜索引擎,其功能为搜索万维网上储存的信息。
搜索引擎为一组项目提供了一个接口,使用户能够指定关于感兴趣的项目的标准,并让引擎找到匹配的项目,这些标准称为搜索查询。在文本搜索引擎的情况下,搜索查询通常表示为识别一个或多个文档可能包含的期望概念的一组单词。
有多种样式的搜索查询语法在严格性上有差异。它也可以在以前的站点中搜索搜索引擎中的名称。而一些文本搜索引擎要求用户输入由白色空格分隔的两个或三个字,其他搜索引擎可以使用户能够指定整个文档,图片,声音和各种形式的自然语言。
一些搜索引擎对搜索查询进行改进,以增加通过称为查询扩展的过程提供质量集合的可能性。查询理解方法可用于标准化查询语言。
扩展资料:
一个完整的搜索引擎需要有网页爬取和收录,建立索引,查询词分析,搜索排序,推荐系统五个部分组成。
1、网页爬取和收录。
网络爬虫技术是网页爬取的核心技术,可以通过编写一定的程序或者脚本来对互联网的信息进行抓取。在网页抓取之后,要构建相应的数据库来存储我们爬取的网页信息。
但是互联网的信息具有冗余性,主要原因是各大网站也都会在后台进行爬虫爬取,他们也会通过爬虫来检测一些热点的内容或者文章,然后爬取其信息并对格式进行重新的组织,但其实网页的内容几乎都是一致的。
所以在收录爬虫爬取的网页信息之前,我们还要加入一个关键的环节——网页去重,来确保我们数据库中网页的唯一性。
2、建立索引
在抓取了网页的信息之后,需要对网页的信息进行解析,抽取到网页的主题内容和类别信息。其主要涉及的技术为文本识别和文本分类技术。
网页解析后的输出往往是一些结构化的信息(每个网页的信息完整度是不同的,需要统一对数据进行结构化操作),一般的结构化信息包括网页的URL、网页编码、网页标题、作者、生成时间、类别信息、摘要等等。
在获取了网页结构化信息后,就要构建相应的索引了。为了加快响应用户査询的速度,网页内容通过"倒排索引"这种高效查询数据结构来保存,而网页之间的链接关系也会予以保存。
之所以要保存链接关系,是因为这种关系 在网F相关性排序阶段是可利用的,通过"链接分析"可以判断页面的相对重要性,对于为用 户提供准确的搜索结果帮助很大。
由于互联网的网页信息是海量的,所以搜索引擎的构建离不开大数据处理平台和云计算技术,目前较为常用的大数据处理平台为Hadoop生态架构。
3、查询词分析。
查询词分析就是query分析或者query聚类。当搜索引擎接收到用户的査询词后,首先需要对查询词进行分析,希望能够结合查询词和用户信息来正确推导用户的真正搜索意图。
比如,一个用户输入的查询词为“养水仙花”,那么除了基本的内容匹配外,搜索引擎需要读懂用户,其实用户的查询词还可以这样被理解“水仙花的养法”,“水仙花好养不” 等等近意的查询词。
在此之后,首先在缓存中査找,搜索引擎的缓存系统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则可以直接将搜索结果返回给用户,这样既省掉了重复计算对资源的消耗,又加快了响应速度。
4、搜索排序
搜索引擎在分析了用户的查询词以后,如果缓存的信息无法满足用户的查询需求,搜索引擎要根据索引来查询数据库的网页内容,并根据网页内容与用户需求来进行网页排序。
网页排序需要众多的因素,其中最为主要的因素为网页内容与用户查询内容的相似度(匹配度),这个不难理解,搜索引擎的基本功能就是查询。
如果一个搜索引擎无法为用户提供用户需要查询的内容,那其也就不能称为是一个搜索引擎,所以网页内容与用户查询内容的相似度是网页排序的一个首要依据;
另外网页的重要程度也是以关键元素,一个网页的重要程度关乎了网页内容的质量,在满足用户需求的基础之上,用户更加希望获得高质量的内容,这是无可厚非的。
根据上述因素,搜索引擎对查询到的结果进行排序,然后展示给用户。
5、推荐系统
其实从不严格的角度来说,整个网页排序的过程就属于一种推荐策略。从严格意义上来说,推荐系统并不属于一个搜索引擎架构的必要环节,而且推荐系统在上述示意图中并没有显示。
但是一个优秀的搜索引擎不止要能分析出用户查询的基本需求,进一步来讲,要能了解到或者猜测用户的可能的下一步需求。
目前随着大数据的热潮,各大互联网公司和众多专家认为推荐系统是解决互联网大数据的一种有效途径。而且,最近越来越多个性化推荐知识受到了热捧。其实推荐系统在搜索引擎中往往是以中间页的形式展示的,它的主要作用就是为推荐系统进行导流。
参考资料来源:百度百科——搜索引擎