论坛首页 综合技术论坛

搜索引擎基础(Search Engine Basics)(二)

浏览 2270 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-29  

什么是搜索引擎

      现在已经知道了什么是搜索引擎。在文本框输入一个词或短语,按下搜索。马上就出现了成千上万的搜索结果,就可以找到需要的结果了。但是,搜索引擎准确的定义又是什么?

      这有点复杂,在搜索引擎的后端,是一些用来收集网页信息的应用程序。这些信息包含了要搜索的词或短语。这些信息的索引存储在数据库中。 

      在前端,就是一个用来输入词或短语的框框。当按下搜索,根据算法来检索存储在数据库中相关网页的信息。

      我们把收集网页信息的叫做爬虫(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:这个算法非常有用,通过一系列约束和不同方式的查找,找到所希望的结果。

        以上就是用在搜索引擎上一小部分的搜索算法,基本都是很多种算法一起使用,或者自己创建一些搜索算法。关键的是了解一点搜索引擎的机制可以提高搜索结果的质量。当你知道了这些,可以知道搜索的最佳方法。

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics