什么是搜索引擎
现在已经知道了什么是搜索引擎。在文本框输入一个词或短语,按下搜索。马上就出现了成千上万的搜索结果,就可以找到需要的结果了。但是,搜索引擎准确的定义又是什么?
这有点复杂,在搜索引擎的后端,是一些用来收集网页信息的应用程序。这些信息包含了要搜索的词或短语。这些信息的索引存储在数据库中。
在前端,就是一个用来输入词或短语的框框。当按下搜索,根据算法来检索存储在数据库中相关网页的信息。
我们把收集网页信息的叫做爬虫(crawler),蜘蛛(spider),机器人(robot),爬虫遍历每个在WEB上的URL,以及收集在每个WEB页面的关键词和短语。现在全球的网站数已经超过一亿,并且每个月增长的速度为150万。想象你的大脑,当你想知道什么事情,开始都会想些词组或短语。
剖析搜索引擎
到目前为止,我们对搜索引擎有一个大概的印象了。但是还有更深层次的需要我们理解。实际上,搜索引擎分为许多部分。很遗憾的是,很难找到能说明搜索引擎各个部分的组成。那些信息对搜索引擎优化非常有用(SEO),
查询接口是大部分用户所熟悉的。基本上都是看到这个知道搜索引擎的。查询接口就是用户可以输入词或短语的地方。 往往很简单,就是一个网页,上面有一个输入框,在加上一个搜索按钮。现代的搜索引擎都添加了用户定制化的功能,用户可以定制他们所需要的信息,如新闻等等。详情见www.yahoo.com
更多的选择是GOOGLE。用户可以安装他们的TOOLBAR。上面有许多小功能可以选用。
查询接口是唯一用户可以看见的部分。其他的部分都隐藏在后台了。并不是意味着不重要。相反的是,那都是搜索引擎最重要的部分。如果经常上网的话,肯定都能听过一点关于爬虫,蜘蛛或机器人。他们都是遍历WEB来收集网站信息的。这些信息通过URL整理存储在数据库中了。然后,当用户搜索这些信息时,信息就会从数据库中读取,呈现在用户面前。
所有搜索引擎都是连接数据库的,每个信息都是指向URL的。信息的排列分为不同的方法,每个搜索引擎公司都有自己的一套算法来排列数据。
这一部分都是搜索引擎的核心了。它就是建立其他部分的一个基础。那就是搜索引擎在算法上是怎样工作的,或者也可以说用户查找数据的方法。
其实用通俗的话来说,搜索算法就是个提出问题,并解决问题的方法。如输入词短语带来了问题,然后就去解决这个问题,也就是找到相关词短语的信息URL。
我们把搜索算法进行分类了,不同的搜索引擎的算法都是各不相同。基本的搜索算法如下:
对算法不懂得可以参考如下信息:http://en.wikipedia.org/wiki/Search_algorithm#Uninformed_search
1.List Search:List Search算法就是通过指定的数据来查找键值。 被查询的数据是列表形式的。查询结果的数据列表是个单独的元素,也就是说,这是非常消耗时间,并且搜索的结果比较少。
2.Tree Search: 先想象树的形态,查看从树根到树叶,再从树叶到树根。这就是tree的算法。查找数据集从宽阔的部分到大部分细节的部分。或者从细节部分到宽阔的部分。数据集就像tree一样。一个单独的数据能关联其他分的数据。这个就好像是web的建立一样。虽然它不是web搜索中唯一成功的算法,但是它是相当有用的。
3.Sql Search:tree search 一个缺点就是,它的搜索行为是层级结构的。也就是说,通过数据的排名,从一点找到另一点。SQL search就不是层级搜索。也就意味着,能从任何数据的子集中查找到所需要的数据。
4.Informed Search:Informed Search算法是在特定的类似树的数据针对一个特定的问题查找特定的答案。先不管名字的意思,它不太适合web搜索,一般都用来特定的查询来查找特定的结果。(带有提示性的搜索)
5.Adversarial Search:这个搜索算法针对一个问题,查找到所有可能的解决方案,一般都用于游戏的算法中,这个算法很难用于web搜索中,因为用这个算法查找一个词或短语的搜索结果基本都是无穷的了。
6.Constraint Satisfaction Serach:这个算法非常有用,通过一系列约束和不同方式的查找,找到所希望的结果。
以上就是用在搜索引擎上一小部分的搜索算法,基本都是很多种算法一起使用,或者自己创建一些搜索算法。关键的是了解一点搜索引擎的机制可以提高搜索结果的质量。当你知道了这些,可以知道搜索的最佳方法。
分享到:
- 2008-04-29 10:04
- 浏览 1808
- 评论(0)
- 论坛回复 / 浏览 (0 / 2273)
- 查看更多
相关推荐
网络分析仪基础知识涵盖了一系列重要的概念和操作,包括但不限于射频基础、传输线理论、史密斯图(Smith chart)、反射、传输、散射参数(S参数)、网络分析仪的硬件组成、误差建模、准确度提升、校准技术以及频率...
【城市建模软件CityEngine 2011基础教程】 CityEngine是一款强大的3D城市建模软件,由Esri公司开发,广泛应用于城市规划、景观设计、影视制作等领域。本教程资料“CityEngine_2011_Tutorials数据”特别针对2011版本...
### 信息检索导论:网络搜索基础 #### 背景与历史 互联网的发展始于浏览器的设计,这使得用户能够轻松查看HTML标记语言中的内容。这一简单而便捷的功能为新用户提供了一个无需深入学习或具备专业技能就能创建自己...
Machine Learning: The Basics 机器学习基础 英文完整 带目录
本系列教程“LabWindows CVI BASICS I & II”旨在帮助初学者和有一定经验的工程师掌握这款强大的工具的基础知识。 在“CVI BASICS I Course”中,学习者将深入理解LabWindows CVI的基础概念和核心功能。这部分教程...
MPLS BasicsMPLS Basics
### Elasticsearch:开源搜索和数据分析引擎 #### 一、概述 Elasticsearch 是一款基于 Apache Lucene 开发的开源搜索引擎和数据分析平台。它以其强大的搜索能力、高性能的数据处理速度以及易于扩展的特点,在大...
传达了编译器设计的总体情况,而无需赘述。 使学生了解编译器的工作方式,并能够为简单语言制作简单(但不是简单的)编译器。
Welcome to HTML Basics. This workshop leads you through the basics of Hyper Text Markup Language (HTML). HTML is the building block for web pages. You will learn to use HTML to author an HTML page to ...
RF基础,或射频基础(RF Basics)涉及到无线通信技术的基本原理和概念。射频技术是现代电子和通信不可或缺的部分,尤其在无线通信、广播、雷达和各种感应应用中广泛应用。在RF Basics_AN5300文件中,Martin D. ...
这份"FFmpeg Basics.zip"压缩包提供了一份关于FFmpeg基础知识的学习资料,主要针对那些希望深入理解音视频技术的人群。下面将详细介绍FFmpeg在音视频编解码和流媒体领域的应用。 1. **FFmpeg 基本概念** FFmpeg 是...
Unreal Engine RDG 是一款强大的游戏引擎,涵盖了渲染依赖关系、shader 参数、渲染图形基础、屏幕 Pass 框架、代码库注册等重要知识点。本教程旨在指导读者从零开始学习 Unreal Engine RDG,帮助读者更好地理解和...
在本文中,我们将深入探讨“Skeleton Basics-WPF_kinect骨骼基础_former9st_”这一主题,这是关于使用微软Kinect设备进行骨骼追踪和可视化的基本教程。在WPF(Windows Presentation Foundation)平台上,我们可以...
Elasticsearch is a Lucene-based search engine for distributed search and analytics. This book will be your hands-on guide as you explore and put to use the features of Elasticsearch 5.0. You will ...