1、搜索引擎和数据库检索的区别是哪些?
优采云 发布时间: 2020-08-15 11:34第一节 搜索引擎原理
1、基本概念
来源于英文wiki百科的解释:(网络)搜索引擎指手动从互联网采集信息,经过一定整理之后,提供给用户进行查询的系统。
来源于日文wiki百科的解释:Web search engines providean interface to search for information on the World WideWeb.Information may consist of web pages, images and other types offiles.(网络搜索引擎为用户提供插口查找互联网上的信息内容,这些信息内容包括网页、图片以及其他类型的文档)
2、分类
按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullTextSearch Engine)和分类目录Directory)。
分类目录则是通过人工的方法搜集整理网站资料产生数据库的,比如雅虎中国以及国外的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原创的分类目录,比如“网址之家”()。
全文搜索引擎通过手动的形式剖析网页的超链接,依靠超链接和HTML代码剖析获取网页信息内容,并按事先设计好的规则剖析整理产生索引,供用户查询。
两者的分辨可用一句话概括:分类目录是人工方法构建网站的索引,全文搜索是手动方法构建网页的索引。(有些人常常把搜索引擎和数据库检索相比较,其实是错误的)。
3、全文搜索的工作原理
全文搜索引擎通常信息采集、索引、搜索三个部份组成,详细的可由搜索器、分析器、索引器、检索器和用户插口等5个部份组成
(1)信息采集(Webcrawling):信息采集的工作由搜索器和分析器共同完成,搜索引擎借助称为网络爬虫(crawlers)、网络蜘蛛(spider)或者称作网路机器人(robots)的手动搜索机器人程序来查询网页上的超链接。
进一步解释一下:"机器人"实际上是一些基于Web的程序,通过恳求Web站点上的HTML网页来对采集该HTML网页,它遍历指定范围内的整个Web空间,不断从一个网页转入另一个网页,从一个站点联通到另一个站点,将采集到的网页添加到网页数据库中。"机器人"每遇见一个新的网页,都要搜索它内部的所有链接,所以从理论上讲,如果为"机器人"建立一个适当的初始网页集,从这个初始网页集出发,遍历所有的链接,"机器人"将才能采集到整个Web空间的网页。
网上后好多开源的爬虫程序,可以到一些开源社区中查找。
关键点1:核心在于html剖析,因此严谨的、结构化的、可读性强、错误少的html代码,更容易被采集机器人所剖析和采集。例如,某个页面存在这样的结尾,在网页显示是没有问题的,但是很有可能会被采集拒绝收录,在诸如类似../../***.htm这样的超链接,也有可能导致蜘蛛难以辨识。这也是须要推广web标准的诱因之一,按照web标准制做的网页更容易被搜索引擎检索和收录。
关键点2:搜索机器人有专门的搜索链接库,在搜索相同超链接时,会手动比对新旧网页的内容和大小,如果一致,则不采集。因此有人害怕修改后的网页是否能被收录,这是多余的。
(2)索引(Indexing):搜索引擎整理信息的过程称为“建立索引”。搜索引擎除了要保存采集上去的信息,还要将它们根据一定的规则进行编排。索引可以采用通用的小型数据库,如ORACLE、Sybase等,也可以自己定义文件格式进行储存。索引是搜索中较为复杂的部份,涉及到网页结构剖析、分词、排序等技术,好的索引能极大的提升检索速率。
关键点1:虽然现今的搜索引擎都支持增量的索引,但是索引创建仍然须要较长的时间,搜索引擎还会定期更新索引,因此即使爬虫来过,到我们能在页面上搜索到,会有一定的时间间隔。
关键点2:索引是区别优劣搜索的重要标志。
(3)检索(Searching):用户向搜索引擎发出查询,搜索引擎接受查询并向用户返回资料。有的系统在返回结果之前对网页的相关度进行了估算和评估,并按照相关度进行排序,将相关度大的置于后面,相关度小的置于旁边;也有的系统在用户查询之前早已估算了各个网页的网页等级(PageRank 后文会介绍),返回查询结果时将网页等级大的置于后面,网页等级小的置于前面。
关键点1:不同搜索引擎有不同的排序规则,因此在不同的搜索引擎中搜索相同关键词,排序是不同的。
第二节 百度搜索引擎工作方式
我所晓得的百度搜索:由于工作的关系,小生有幸仍然在使用百度的百事通企业搜索引擎(该部门现已被裁员,主要是百度的战略开始向微软靠拢,不再单独销售搜索引擎,转向搜索服务),据百度的销售人员称,百事通的搜索核心和大搜索的相同,只有可能版本稍低,因此我有理由相信搜索的工作方式大同小异。下面是一些简单介绍和注意点:
1、关于网站搜索的更新频度
百度搜索可以设定网站的更新频度和时间,一般对于大网站更新频率很快,而且会专门开办独立的爬虫进行跟踪,不过百度是比较勤劳的,中小网站一般也会每晚更新。因此,如果你希望自己的网站更新得更快,最好是在小型的分类目录(例如yahoosina网易)中有你的链接,或者在百度自己的相关网站中,有你网站的超链接,在或则你的网站就在一些小型网站里面,例如小型网站的blog。
2、关于采集的深度
百度搜索可以定义采集的深度,就是说不见得百度会检索你网站的全部内容,有可能只索引你的网站的首页的内容,尤其对大型网站来说。
3、关于对经常不通网站的采集
百度对于网站的通断是有专门的判定的,如果一旦发觉某个网站不通,尤其是一些中小网站,百度的手动停止往那些网站派出爬虫,所以选择好的服务器,保持网站24小时畅通十分重要。
4、关于更换IP的网站
百度搜索才能基于域名或则ip地址,如果是域名,会手动解析为对应的ip地址,因此才会出现2个问题,第一就是假如你的网站和他人使用相同的IP地址,如果他人的网站被百度惩罚了,你的网站会遭到牵涉,第二就是假如你更换了ip地址,百度会发觉你的域名和以前的ip地址没有对应,也会拒绝往你的网站派出爬虫。因此建议,不要随便更换ip地址,如果有可能尽量独享ip,保持网站的稳定很重要。
5、关于静态和动态网站的采集
很多人害怕是不是类似asp?id=之类的页面很难被搜集,html这样的页面容易被搜集,事实上情况并没有想的那么糟,现在的搜索引擎大部分都支持动态网站的采集和检索,包括须要登录的网站都可以检索到,因此大可不必害怕自己的动态网站搜索引擎难以辨识,百度搜索中对于动态的支持可以自定义。但是,如果有可能,还是尽量生成静态页面。同时,对于大部分搜索引擎,依然对脚本跳转(JS)、框架(frame)、
Flash超链接,动态页面中富含非法字符的页面无可奈何。
6、关于索引的消失
前面讲过,搜索的索引须要创建,一般好的搜索,索引都是文本文件,而不是数据库,因此索引中须要删掉一条记录,并不是一件便捷的事情。例如百度,需要使用专门的工具,人工删掉某条索引记录。据百度职工称,百度专门有一群人负责这件事情——接到投诉,删除记录,手工。当然能够直接删掉某个规则下的所有索引,也就是可以删掉某个网站下的所有索引。还有一个机制(未经验证),就是对于过期的网页和作弊的网页(主要是网页标题、关键词和内容不匹配),在重建索引的过程中也会被删除。
7、关于去重
百度搜索的去重不如微软的理想,主要还是判断文章的标题和来源地址,只要不相同,就不会手动去重,因此毋须害怕采集的内容雷同而很快被搜索惩罚,谷歌的有所不同,标题相同的被同时收录的不多。
补充一句,不要把搜索引擎想得那么智能,基本上都是根据一定的规则和公式,想不被搜索引擎惩罚,避开那些规则即可。
第三节 谷歌搜索排行技术
对于搜索来说,谷歌强于百度,主要的诱因就是微软愈发公平,而百度有很多人为的诱因(这也符合我国的国情),google之所以公平,源于他的排行技术PageRank。
很多人晓得PageRank,是网站的质量等级,越小表示网站越优秀。其实PageRank是借助一个专门的公式估算下来的,当我们在google搜索关键词的时侯,页面等级小的网页排序会越靠前,这个公式并没有人工干预,因此公平。
PageRank的最初看法来自于论文档案的管理,我们晓得整篇论文结尾都有参考文献,假如某篇文章被不同论文引用了多次,就可以觉得这篇文章是篇优秀的文章。
同理,简单的说,PageRank才能对网页的重要性作出客观的评价。PageRank 并不估算直接链接的数目,而是将从网页 A 指向网页 B 的链接解释为由网页 A对网页 B 所投的一票。这样,PageRank 会依照网页 B 所收到的投票数目来评估该页的重要性。此外,PageRank都会评估每位投票网页的重要性,因为个别网页的投票被觉得具有较高的价值,这样,它所链接的网页能够获得较高的价值。
Page Rank的公式这儿省略,说说影响Page Rank的主要诱因
1、指向你的网站的超链接数目(你的网站被他人引用),这个数值越大,表示你的网站越重要,通俗的说,就是其它网站是否友情链接,或者推荐链接到你的网站;
2、超链接你的网站的重要程度,意思就是一个质量好的网站有你的网站的超链接,说明你的网站也太优秀。
3、网页特定性诱因:包括网页的内容、标题及URL等,也就是网页的关键词及位置。
第四节 新网站如何应对搜索
以下内容是对前面剖析的总结:
1、搜索引擎为何不收录你的网站,存在以下可能(不绝对,根据各自情况不同)
(1)没有任何指向链接的孤岛网页,没有被收录的网站指向你的超链接,搜索引擎就难以发觉你;
(2)网站中的网页性质及文件类型(如flash、JS跳转、某些动态网页、frame等)搜索引擎难以辨识;
(3)你的网站所在服务器曾被搜索引擎惩罚,而不收录相同IP的内容;
(4)近期更换过服务器的IP地址,搜索引擎须要一定时间重新采集;
(5)服务器不稳定、频繁宕机,或者经不起爬虫采集的压力;
(6)网页代码劣质,搜索未能正确剖析页面内容,请起码学习一下HTML的基本句型,建议使用XHTML;
(7)网站用robots(robots.txt)协议拒绝搜索引擎抓取的网页;
(8)使用关键词作弊的网页,网页的关键词和内容严重不匹配,或者个别关键词密度很大;
(9)非法内容的网页;
(10)相同网站内存在大量相同标题的网页,或者网页的标题没有实际涵义;
2、新站怎么做才正确(仅供参考)
(1)和优秀的网站交换链接;
(2)广泛登陆各类大网站的网站目录列表;
(3)多去质量好的峰会发言,发言要有质量,最好不要回复,发言中留下自己网站地址;
(4)申请大网站的博客(新浪、网易、CSDN),并在博客中推广自己的网站;
(5)使用好的建站程序,最好能生成静态页面和手动生成关键词;
(6)重视每位网页的标题,以及区域,尽量把符合的关键词放到那些容易被搜索索引的位置,重视文章的开头部份,尽可能在文章的开始部份使用类似摘要的功能(可以学学网易的文章样式)。
例如“基于开源jabber(XMPP)架设内部即时通讯服务的解决方案”;
标题部份:基于开源jabber(XMPP)架设内部即时通讯服务的解决方案- 肥龙龙(expendable)的专栏 -CSDNBlog
关键词部份:安装,">
文章描述部份:是知名的即时通信服务服务器,它是一个自由开源软件,能使用户自己架即时通信服务器,可以在Internet上应用,也可以在局域网中应用。
XMPP(可扩充消息处理现场合同)是基于可扩展标记语言(XML)的合同,它用于即时消息(IM)以及在线现场侦测。它在推动服务器之
间的准即时操作。这个合同可能最终准许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的技术来自
于Jabber,其实它是Jabber的核心协定,所以XMPP有时被误称为Jabber合同。Jabber是一个基于XMPP协议的IM应用,除Jabber之外,XMPP还支持好多应用。