问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是搜索引擎技术,什么是搜索引擎技术的基本工作原理!

发布网友 发布时间:2024-08-11 16:31

我来回答

1个回答

热心网友 时间:2024-08-28 17:53

网络搜寻器技术是搜索引擎体系结构中更为基础的数据技术. 通过Web搜寻器技术,我们可以将Internet上的数百亿网页信息保存到本地,形成一个镜像文件以提供整个搜索引擎. 数据支持.
1. Web爬虫技术的基本工作流程和基础架构
网络搜寻器获取网页信息的方式与我们通常使用浏览器访问网页的原理完全相同,该浏览器是根据HTTP协议获得的. 该过程主要包括以下步骤:
1)连接到DNS域名服务器,并对要爬网的URL(URL ------>IP)执行域名解析;
2)根据HTTP协议,发送HTTP请求以获取网页内容.
完整的网络搜寻器基本框架如下所示:
整个体系结构具有以下过程:
1)请求者提供要爬网的URL的列表,并根据所提供的URL列表和相应的优先级建立要爬网的URL队列(先到先爬);
2)基于要爬网的URL队列的顺序进行Web爬网;
3)将获取的网页内容和信息下载到本地网页库中,并建立一个已爬网URL列表(用于重复数据删除和爬网过程的判断);
4)将抓取的网页放入要抓取的URL队列中,并执行循环抓取操作;
2. 网络爬网策略
在搜寻器系统中,要搜寻的URL队列是重要的部分. 在URL队列中要爬网的URL的排列顺序也是一个重要的问题,因为这涉及到先爬网哪些页面然后爬网哪些页面的问题. 确定这些URL顺序的方法称为爬网策略. 以下重点介绍了几种常见的爬网策略:
1)深度优先遍历策略
深度优先遍历策略是众所周知的,它与我们的有向图中的深度优先遍历相同,因为网络本身是一个图模型. 深度优先遍历的想法是从一个起始网页开始爬网,然后根据链接逐个爬网,直到无法进一步爬网为止,返回上一页继续跟随该链接.
下面是有向图的深度优先搜索示例:
上面的左图是有向图的,右图是深度优先遍历的搜索过程的. 深度优先遍历的结果是:
2)广度优先搜索策略
广度优先搜索和深度优先搜索的工作方法完全相反. 这个想法是将在新下载的网页中找到的链接直接插入要抓取的URL队列的末尾. 这意味着Web爬网程序将首先对在起始页面中链接的所有页面进行爬网,然后选择其中一个链接页面以继续对在此页面中链接的所有页面进行爬网.
上图是上述示例的有向图的广度优先搜索流程图. 遍历结果为:
v1→v2→v3→v4→v5→v6→v7→v8
从树的结构来看,图的广度优先遍历是树的层次遍历.
3)反向链接搜索策略
反向链接数是指网页被其他Web链接指向的次数. 反向链接的数量指示其他人推荐多少网页内容. 因此,很多时候搜索引擎的爬网系统都会使用该指标来评估网页的重要性,从而确定不同网页的爬网顺序.
在真实的网络环境中,由于存在广告链接和作弊链接,因此反向链接的数量不能与他的一样重要. 因此,搜索引擎倾向于考虑一些可靠的反向链接.
4)大站优先策略
URL队列中要爬网的所有页面均根据它们所属的网站进行分类. 对于要下载大量页面的网站,首选下载. 此策略也称为大站台优先策略.
5)其他搜索策略
一些常见的搜寻器搜索比例还包括部分PageRank搜索策略(根据PageRank分数确定下一个已爬网的URL),OPIC搜索策略(也是一种重要性). 必须指出的最后一件事是,我们可以根据需要设置网页的爬网间隔,以确保不会丢失某些基本的大型网站或活动网站内容.
3. Web搜寻器更新策略
Internet实时变化且高度动态. 网页更新策略主要是决定何时更新先前下载的页面. 共有三种常见的更新策略:
1)历史参考策略
顾名思义,根据页面的过去历史更新数据,可以预测页面将来的更改时间. 通常搜索引擎基本工作原理,通过对泊松过程进行?建模来进行预测.
2)用户体验策略
尽管搜索引擎可以为特定查询返回大量结果,但用户倾向于将注意力集中在结果的前几页上. 因此,爬网系统可以更新实际上在查询结果的前几个页面中的那些网页,然后更新那些后续页面. 此更新策略还需要使用历史信息. 用户体验策略保留了该网页的多个历史版本,并根据过去每次内容更改对搜索质量的影响来获取平均值,并以此值作为确定何时重新抓取的基础.
3)集群抽样策略
上述两种更新策略都有一个前提: 需要网页的历史信息. 存在两个问题: 首先,如果系统为每个系统保存了多个版本的历史信息,无疑会增加很多系统负担. 其次,如果新网页完全没有历史信息,则无法确定更新策略.
此策略认为网页具有许多属性,而具有相似属性的网页可以被视为具有相似的更新频率. 要计算某个类别的网页的更新频率,您只需要采样此类别的网页,并将其更新周期用作整个类别的更新周期即可. 基本思路如下:
4. 分布式爬网系统的结构
通常,爬网系统需要面对整个Internet上数以亿计的网页. 单个搜寻器无法完成此类任务. 通常,需要多个爬网程序一起工作. 通常,爬网系统是分布式的三层结构. 如图所示:
最底层是分布在不同地理位置的数据中心. 在每个数据中心中,都有多个爬网服务器,每个爬网服务器可能具有几组爬网程序. 这构成了基本的分布式爬网系统.
有几种方法可以与数据中心中的不同抓取服务器一起使用:
1)主从服务器
主从结构的基本结构如图所示:
对于主从类型,有专用的主服务器来维护要爬网的URL队列. 它负责每次将URL分发到不同的Slave服务器,并且Slave服务器负责实际的网页下载工作. 除了维护要爬网的URL队列和分发URL外,主服务器还负责协调每个从属服务器的负载. 为了避免某些从属服务器太闲或太累.
在这种模式下,主服务器通常会成为系统瓶颈.
2)点对点
方程的基本结构如图所示:
在这种模式下,所有爬网服务器的分工没有区别. 每个爬网服务器都可以从要爬网的URL队列中获取URL,然后对URL主域名的H进行散列,然后计算H mod m(其中m是服务器数,上图为示例) ,m为3),则计算出的数字是处理URL的主机号.
示例: 假设对于URL,计算器哈希值H = 8,m = 3,然后H mod m = 2,因此编号为2的服务器获取链接. 假设此时服务器0获得了该URL,它将URL转发到服务器2并对其进行爬网.
此模型存在问题. 当服务器死机或添加新服务器时,所有URL的哈希计算结果将改变. 换句话说搜索引擎基本工作原理,这种方法不是很可扩展. 考虑到这种情况,提出了另一种改进计划. 这种改进的方案是一致的散列,以确定服务器的分工. 其基本结构如图所示:
连续哈希对URL的主要域名进行哈希处理并将其映射到0-232范围内的数字. 该范围平均分配给m个服务器,并根据URL主域名的哈希操作值的范围确定哪个服务器正在执行爬网.
如果一台服务器出现问题,则负责该服务器的网页将被顺时针延迟,并被下一台服务器爬网. 在这种情况下,如果一台服务器及时出现问题,其他工作将不会受到影响.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
cad里面打完字怎么还原十字架 财务建帐需要什么 建账建账的基本要求 当爱情与亲情需要丢弃一样时,你会选择丢弃哪一方 当爱情和亲情有冲突时你会怎样决择?你会为你所爱的人不顾一切吗? 剑网三 查看余额 因为某些特殊原因不好登陆游戏查看,求其他方式_百度知 ... 右肺上叶中叶结节灶怎么回事 节能门窗有哪些标准 节能门窗有哪些 节能门窗具有哪些特征 怎样一键删除搜索的历史记录 小学生三年级男子跳高 为什么我三年级在学校里运动会时听到了五年级有跳高。到了我现在五年 ... 可以越野的性能猛兽 路虎揽胜运动版 罗伦士gs和路虎揽胜,哪个越野能力更好? 备抵账户增加在借方还是贷方 路虎揽胜性能怎么样 梼杌是什么凶兽 梼杌:上古四凶之一的恶兽形象与传说 废锢的国语词典废锢的国语词典是什么 黑糖有哪些美味吃法? 女人夏天喝什么茶排毒养颜 桂花黑糖姜茶,这么喝真的可以吗 尿酸高吃什么能降下来 吃什么可以降尿酸 装完修屋里味大,怎样除甲醛? 尿酸高吃什么食物能降下来 橙子屋全屋定制做橱柜用的基材有几种啊? 牛肉馅的灌汤包如何做 四川中江县到回龙要走河边修路吗 我想问四川省德阳市中江县回龙镇打乡村路是不是要老百姓投钱 红米1s联通版支持64g内存卡拓展吗?? 红米1s64g内存卡不能用 竖直上抛运动计算公式 人流后复查是做B超还是阴超 如何看待BEJ48招募的预备生熊依依涉嫌黑历史一事? 黄怡慈踩滑板是哪次公演 可以只吃维生素C不吃水果吗 佐川银次和哪些女演员 离婚案各类房产分割的方法是什么? 离婚时房产分割的方法是什么?离婚后公房使用权应归谁? 民法典离婚房屋分割的方式是什么? 离婚分割房屋的步骤是怎样的 我要改名字,派出所要我村里开无经济债务纠纷证明,请问村里开无经济... 离婚法关于房屋分割的规定是什么? 无经济债务纠纷证明怎么开?去哪开? 收纳师是干什么的收纳师就业前景 收纳整理师每月工资大概多少钱 薪资待遇标准是怎样的 急!急!急! 我养的两盆燕子掌,就是大家常叫做玻璃翠的盆栽出现紧急... 新浪通行证登陆微博,显示未开通!点击直接开通,则显示这个,究竟如何才能... 订制更衣柜