`
snake_hand
  • 浏览: 625069 次
社区版块
存档分类
最新评论

搜索引擎的原理

 
阅读更多

一、 搜索引擎蜘蛛

搜索引擎蜘蛛(spider),可简称为蜘蛛,本意为搜索引擎机器人(robot),称为蜘蛛的原因是将互联网比喻成蜘蛛网,将机器人比喻成了在网上爬行的蜘蛛,是搜索引擎自动抓取网页的程序。


搜索引擎蜘蛛的作用:通过这些搜索引擎蜘蛛的爬行会自动将网页添加到搜索引擎的数据库当中,搜索引擎蜘蛛会自动判断网页的质量,根据既定的程序判断是否抓取。

搜索引擎蜘蛛的名称:以下为目前国内知名度比较高的搜索引擎的名字,还有很多的搜索引擎蜘蛛但是由于知名度不高,我就不一一列举了。

  • Google的蜘蛛: Googlebot 、
  • 百度的蜘蛛:baiduspider 、
  • 雅虎中国的蜘蛛:Yahoo! Slurp China 、
  • MSN的蜘蛛:Msnbot 、
  • 有道的蜘蛛:YoudaoBot、
  • 搜狗的蜘蛛:Sogou web spider

查看搜索引擎蜘蛛的来访记录,需要通过网站访问日志文件来查看,具体获取方法请咨询服务器提供商。
如果你想获得搜索引擎蜘蛛的亲赖,希望他天天爬行抓取网页的话,那就需要持续保持原创文章的更新,并且定期交换友情链接。
如果你不希望某个搜索引擎的蜘蛛来抓取你的网页,可以通过设置robots.txt来禁止抓取。



二、搜索引擎的原理

搜索引擎,需要解决的技术问题总的分为:蜘蛛程序、分类建立索引、词库、排序算法因素、数据库索引和优化、数据库结构--蜘蛛。
目前看来,蜘蛛可以用C或者PHP来实现。百度的蜘蛛多半是C做的,C同样可以支持多个数据库的连接接口,并且C的运行效率比PHP高,C也更能控制底层。

C虽然这么好,我还是想用PHP做,时间上必须更多的节约出来,不能再去学C。如果以后需要高效率要用C,再用C做,数据库可以不变,MYSQL可以和C连接。
PHP有优点也有缺点,做蜘蛛,问题应该不大,最大的问题 是有可能速度很慢。

1、抓取网页
抓取网页,有可能出现的问题是,抓取顺序,抓取如果不成功或超时等问题该如何纪录,下次又什么时候更新抓取。搜索引擎的 数据库最开始是新的,没有任何网址的,需要大量加入网址。
这里可以用for循环语句,按照英文字母自动循环。当然,网站建设不只有英文,还有和数字,这些只能手工输入了。如果还是循环抓取,估计有很多都要落空。抓到的代码需要分析编码类型是utf-8还是gb2312.我的搜索引擎只想抓简体中文。
如果抓取超时,则记录,下次大概十天之后再抓取,如果连续超时三次,将T出数据库。

2、建立索引
索引的建立是个很棘手的问题,百度和谷歌可以用自 己的服务器群建立分布式的服务器。我可没那么多服务器。所以我想换个方法。建立静态页面。之前我才知道,在百度和谷歌输入一个比较生僻的词 ,会花费0.2秒左右的时间,一般的常见词语只需要0.1秒。并且,第二次重复输入一个词所需要的查询时间要少得多。这个多半就是索引的影响。
假如索引是放内存里,读取速度将是非常OK的。我只有一台服务器,就算只放常见的5万个查询词语的索引进去,估计也有点累。一个页面至少有20K, 5万个页面就是20K*50=1G。这还只是5万个词的第一个页面。如果用户要翻页查询呢,内存肯定不够。假如只放第一页进内存,用户翻页查询,速度 将无法解决。所以我准备全静态。把5万个词语的查询模拟一次,然后生成静态页面。所有词的第一页放内存,后面的页面放硬盘里。如果能把页面 放内存,这个问题就已经解决了。

3、词库
汉字千千万,常用的汉字也至少三千个。组成的词语常用的估计有2万。这个词库来怎么添加进去?用什 么格式存放?CSV文件还是数据库还是文本文件?之前我想过把金山词霸的词库文件找到,想办法直接复制过来,此方法目前还没成功。

4、排序算法
所有的影响排序的算法,应该是放一个表里,然后分固定算法,就是网站本身的因素,还有变动算法,就是用户输入的词语或因为时间季节等不同而变化的因 素。固定算法就放一个表里,对每个网站算出总分。变动算法的一部分是之前已经产生,一部分是用户输入之后才算出。

5、数据库索引
数据库的索引目前还没 有很好的解决办法,一个表达索引肯定不能太多,多了会影响速度。六.数据库的结构。这个很关键。估计要在网站前台界面出来之前就得先把数据 库结构定下来。还要为以后的升级留下接口,比如算法因素要增加,或者为了优化查询语句,要变动字段等等。



参考推荐:

搜索引擎

搜索引擎蜘蛛

透视搜索引擎原理



分享到:
评论

相关推荐

    搜索引擎原理、实践与应用

    《搜索引擎原理、实践与应用》是一本深入探讨搜索引擎技术的权威资料,涵盖了从基础理论到实际操作的全方位知识。在互联网信息爆炸的时代,搜索引擎作为获取信息的重要工具,其工作原理和优化策略对于开发者、研究...

    基于Ruby+Java搜索引擎原理与实现

    《基于Ruby+Java搜索引擎原理与实现》是一部深入探讨搜索引擎技术的书籍,虽然只涵盖了前三个章节,但已足以让我们对搜索引擎的基本运作有初步的理解。在本文中,我们将围绕Ruby和Java这两种编程语言如何应用于搜索...

    搜索引擎原理介绍与分析.pdf

    ### 搜索引擎原理介绍与分析 #### 一、引言 随着互联网的迅速发展和信息量的爆炸性增长,搜索引擎已成为人们获取信息不可或缺的工具。无论是寻找学术资料、娱乐资源还是商业信息,人们越来越依赖于搜索引擎来高效...

    一本讲搜索引擎原理的书

    ### 搜索引擎原理、技术与系统 #### 一、引言 随着互联网的快速发展和信息量的爆炸式增长,搜索引擎已成为获取信息的重要工具之一。《搜索引擎:原理、技术与系统》这本书由李晓明、闫宏飞和王继民共同撰写,通过...

    搜索引擎原理.rar

    而“周恒_搜索引擎原理.ppt”可能涵盖了搜索引擎的基本概念、工作原理,以及谷歌搜索引擎的特点和技术细节。周恒教授是中国搜索引擎领域的重要研究者,他的讲解可能会从理论与实践两个层面深入剖析搜索引擎的工作...

    搜索引擎技术教程 网络搜索引擎原理 全部PPT课件教程 共7个章节.rar

    搜索引擎技术教程 网络搜索引擎原理-第1章 简介 共21页 搜索引擎技术教程 网络搜索引擎原理-第2章 爬虫 共64页 搜索引擎技术教程 网络搜索引擎原理-第3章 网络搜索与信息检索 共103页 搜索引擎技术教程 网络搜索引擎...

    大数据时代背景下的搜索引擎解决方案-大数据搜索引擎原理分析及实现

    大数据时代背景下的搜索引擎解决方案/大数据搜索引擎原理分析及实现 内 容 简 介 大数据时代背景下的搜索引擎解决方案 搜索引擎的技术架构、算法体系及取得的效果, 以模块化的方式进行组织。 着重介绍了机器 学习...

    搜索引擎原理与实践,课件

    《搜索引擎原理与实践》是由北京邮电出版社出版的教材,主要由袁津生主编。这本教材深入浅出地介绍了搜索引擎的基本概念、体系结构、工作原理以及相关技术,旨在帮助读者理解和掌握搜索引擎的设计与实现。课程配套的...

    搜索引擎零距离——基于Ruby+Java搜索引擎原理与实现(前三章)

    本书涉及网络数据挖掘、搜索引擎原理、编译原理、数据库原理、正则表达式、软件工程、设计模式、Ruby语言、HTTP协议等计算机科学与技术的知识,适合搜索引擎开发人员作为参考,也适合有一定计算机基础的读者阅读,以...

    淘宝搜索原理 淘宝搜索排序规则 电商搜索引擎原理解析 搜索引擎原理 共14页.ppt

    【目录】 买家系统卖家怎样发生关系 淘宝系统抓取&排序原理解析

    搜索引擎原理 爬虫技术

    总的来说,搜索引擎原理涉及网络爬虫技术、网页搜集策略、链接分析、网页重要性计算、关键词提取和中文分词等多个方面。Perl作为一门强大的脚本语言,被广泛用于实现这些功能,尤其是在教学和研究中,构建简单的搜索...

    google搜索引擎原理

    ### Google搜索引擎原理详解 #### 一、概述与背景 Google搜索引擎是互联网时代最具影响力的信息检索工具之一,其设计理念和技术架构引领了搜索引擎行业的变革与发展。本文旨在深入探讨Google搜索引擎的工作原理,...

Global site tag (gtag.js) - Google Analytics