搜索引擎优化(seo)的基本工作模块( 盆友们|后端技术指南针|来源|图虫读完,肯定有所收获)

优采云 发布时间: 2022-01-03 08:15

  搜索引擎优化(seo)的基本工作模块(

盆友们|后端技术指南针|来源|图虫读完,肯定有所收获)

  

  来源 |后端技术罗盘

  头像 |图虫

  写在前面

  今天和朋友们一起学习一些关于通用搜索引擎的技术要点。

  由于搜索引擎的内容太多了,每个部分足以写几篇文章文章,所以这篇文章只是一个介绍,需要老手们深入挖掘。

  通过本文,您将对通用搜索引擎的基本原理和组成有更清晰的认识。仔细阅读,一定有收获!

  大家别废话,上车!

  对搜索引擎的初步了解

  2.1个搜索引擎分类

  搜索引擎可以根据使用场景和规模简单分为两类:

  万能搜索也叫大搜,如谷歌、百度、搜狗、神马等都属于这一类。

  

  垂直搜索,也叫垂直搜索,是特定领域的搜索,比如用QQ音乐搜索周杰伦的歌曲。

  

  虽然两类搜索引擎的数据规模和数据特征不同,但都旨在弥合用户和海量信息之间的鸿沟。

  

  2.2 搜索推荐

  搜索和推荐经常被比较,但两者之间存在一些差异和联系。

  

  2.3个搜索引擎评价标准

  我们每天都在与搜索引擎打交道,评价一个搜索引擎的好坏可以简单概括为:准确性、及时性、响应速度、权威性等

  也就是说,搜索引擎了解用户真正想找的东西,并能快速准确地展示出来,还可以收录及时展示一些热点、突发的信息,可以很好地赢得用户。

  这个目标需要搜索引擎的多个模块协同处理,这是一个复杂的系统工程,不是一件容易的事。

  一般搜索引擎的总体概述

  3.1 搜索引擎的基本流程

  大白尝试用通俗易懂的语言来大致表达一下一般搜索引擎的工作原理:

  1. 网络蜘蛛爬虫每天不知疲倦地收录 网页,然后将它们存储起来,这样每个站点的页面都会有一个镜像的副本,即百亿/100数十亿的规模。

  

  2. 简单的镜像不能直接使用,需要对每个网页进行处理、切分,并建立搜索词和网页的对应关系,这样用户搜索的时候就会得到很多的相关信息。页。

  

  3. 例如,“搜索隐藏的角落”可能会找到100个相关网页,但网页和搜索词之间的相关性必须强或弱,因此需要对网页进行排序。排序策略很多,最后把高质量的网页放在最前面给用户展示。

  

  用户看到相关结果后,点击或跳过,搜索引擎根据用户的相关动作进行调整,实现整个闭环过程。

  4. 为了更好的理解用户的真实目的,需要进行搜索词意图理解、分词、同义词替换、语法纠错等处理,然后获取数据基于这些搜索词。找到用户想要的网页。

  例如,如果搜索词是“eagles”,则可能是自然界中的老鹰或 NBA 中的一支球队:

  

  3.2 搜索引擎的基本组成

  我们从整体的角度来简单的看一下各个模块的基本组成和主要功能:

  

  接下来简单介绍几个模块的基本内容和技术要点。

  网络爬虫模块介绍

  网络爬虫模块是一般搜索引擎的一个非常基础的组件。一般由分布式爬虫实现。我们来看看这个搬运工是如何实现海量网页的发现的:

  

  一个网络爬虫的基本过程:

  爬取过程中存在多种遍历策略:深度优先遍历DFS、广度优先遍历BFS、部分PageRank策略、OPIC在线页面重要性计算策略、大站优先策略等。

  

  在工程实践中,需要根据自身情况和搜索引擎的特点,选择一种策略或多种策略的组合。

  网络爬虫需要遵循Robots协议(网络爬虫排除标准),这是网络爬虫和网站之间的君子协议。网站通过协议告诉网络爬虫什么可以抓,什么不能抓。

  网络爬虫还需要考虑爬取的频率,防止网站负担过重。总之,搜索引擎的网络爬虫要谦虚君子。

  网页内容处理模块

  爬虫模块存储网页内容后,网页内存处理模块开始对网页内容进行分析。主要任务包括:数据清洗、网页内容分词、建立正向索引、建立倒排索引等。

  

  5.1 数据清洗

  一般来说,网页中除了具体的内容外,还有很多无关的东西,比如html标签、推广等,在实际搜索引擎中是无用的。

  

  内容处理模块会清理无用的数据和标签,为后续的分词做准备。

  5.2 中文分词

  对清洗后的内容进行主题分词关键词,例如一个网页内容有1000个词,分词后大约有50个词,相当于提取了网页的主体,并且标题、摘要、正文等。内容的不同部分采用不同的权重处理。

  在分词过程中,会去除停用词、虚词等,如“de、de、di”等,尽量还原网页的主要内容。

  我们使用在线网页分词工具和真实网页来模拟这个过程:

  网页分词在线工具:抓取网页:

  

  可以看到分词后可以标注词频。这些是后续网页排名的重要来源。但是中文很复杂,所以有很多分词算法。常见的包括:

  

  5.3 前排索引

  假设我们对每个网页的docid进行了唯一编号,经过前面的分词,一个网页就会被分成多个不同权重的实体词。

  所谓前进行,就是可以根据docid获取属于该网页的所有内容。这是一个符合我们思维的积极过程。相对来说,会有倒排索引。

  我们以一页《隐藏的角落》剧情介绍为例,模拟分词,大致如下(分词结果纯脑补,以实际情况为准):

  

  5.4 倒排索引

  如果我们对10000个网页进行细分,它收录了一些公共搜索词:微山湖、智慧虎山、三十年、隐藏角落等,所以我们将在总结后创建搜索词->网页的映射关系。

  

  所以对于有很多网页的搜索词“隐藏的角落”,倒排索引相当于一个词可以拉出多少个文章的过程。

  

  就像我们谈食物时想到的食物:火锅、烧烤、烤鸭、炒菜等,也是一个从点到面的过程。这个反向过程在搜索引擎中非常重要。

  

  5.5 章总结

  内容处理模块对抓取到的网页进行清理,爬虫模块的pre-new URL,内容分词,建立正向索引和倒排索引,中间环节。

  特别提到前向索引和倒排索引,字面上并不直观,但道理不难理解:

  Positive Index:具体指有多少个网页关键词,具体指属于网页本身的内容集合,是一个网页。倒排索引:一个搜索关键词对应多少个相关的网页,即备选网页的集合,是一种网页。

  网页排序和用户模块

  6.1 网页排序的必要性

  因为存储的网页有几百亿,那么一个搜索词可能是几万、几十万甚至更多的相关网页。

  网页排名需要综合考虑:相关性、权威性、及时性、丰富度等方面。

  搜索引擎必须向用户展示高质量、相关性强的网页,并放在最前面,否则搜索结果不佳,用户不会购买。

  其实也是一样。例如,搜索引擎返回 10 页结果,每页 10 个结果和 100 个摘要。一般用户点击1-3页后的网页,很有可能不会再点击,因此排名靠前的内容对搜索结果至关重要。

  我们还是以搜索“隐藏角落”为例。百度一共返回了10页,其中1-2页的内容相关性强,是一个比较好的搜索结果:

  

  6.2 常用网页排名策略

  网页排名策略是一个不断优化和改进的进化过程。我们来看看有哪些可用的排序策略:

  这是早期搜索引擎经常采用的方法。比较简单,但效果还不错。

  简单的说就是以关键词在网页中出现的频率和位置作为排序依据,因为一般认为搜索词出现的频率越高,位置越重要,网页的相关性越好,排名就越好。前进。

  词频不是简单的计数次数。需要一个全局的概念来判断关键词的相对频率。这就是我们要讲的TF-IDF逆文档频率。来看看百度百科的解释:

  TF-IDF(词频-逆文档频率)是一种常用的信息检索和数据挖掘加权技术。 TF 是词频,IDF 是逆文档频率。 TF-IDF 是一种统计方法,用于评估单词对文档集或语料库中文档的重要性。一个词的重要性与其在文档中出现的次数成正比,但同时与其在语料库中出现的频率成反比降低。

  举个栗子:

  “用餐”一词在网页上出现了 10 次。虽然出现了很多次,但是“dining”这个词太常见了,因为它出现在很多其他的网页上,所以搜索词“dining”的重要性相对降低了。

  链接分析的排序是:一个网页被其他网页引用的次数越多或被引用的权威网页越多,该网页的质量就越高。

  

  基于链接分析的排序算法有很多,其中最著名的PageRank算法被谷歌广泛采用作为其核心排序算法。

  看PageRank算法的基本思想:

  网页的重要性由 PageRank 值衡量。一个网页的PageRank值体现在两个方面:其他网页引用该网页的数量和其他网页引用该网页的重要性。假设一个网页A被另一个网页B引用,网页B为网页B引用的网页分配PageRank值,因此网页A被引用越多,PageRank值越高。另外,网页B越重要,它所指的页面可以分配的PageRank值就越多,网页A的PageRank值越高,它就越重要。

  其实这个算法说起来很简单:比如写个公众号,转载一个大V就相当于引用了。其他公众号转载越多,您的公众号内容质量越高。

  

  PageRank 算法也有一定的问题。例如,它对新页面不友好。新页面暂时没有被大量引用。因此PageRank值很低,PageRank算法强调网页之间的引用关系,可能会影响网页本身的主题内容。关注不够,就是所谓的话题漂移问题。

  与PageRank算法类似,还有一些其他的算法来弥补主题关联问题,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文不再展开。

  6.3 网页反作弊和搜索引擎优化

  搜索引擎也有二十八原则。头部网页占据了大量的点击流量,也意味着巨大的商业价值。

  这里会提到SEO,我们来看看百度百科对SEO的定义:

  搜索引擎优化也称为 SEO,或搜索引擎优化。是一种分析搜索引擎排名规则的方法,了解各种搜索引擎如何搜索,如何抓取网页,以及如何确定具体的关键词搜索结果排名技巧。搜索引擎采用易于搜索和引用的方式,有针对性地优化网站,提高网站在搜索引擎中的自然排名,吸引更多用户访问网站,提高网站的访问量,提高了网站的销售和宣传能力,从而提升了网站的品牌效应。

  道一尺高,魔一尺高。只有魔法才能战胜魔法。

  

  网页反作弊是搜索引擎需要解决的重要问题。常见内容防作弊、链接分析防作弊等

  

  6.4 用户搜索意图理解

  用户模块直接与用户交互,接收用户的搜索词,准确理解用户的搜索意图非常重要。

  实际上,用户输入是多种多样的,部分口语化,甚至拼写错误,不同背景的用户对同一个搜索词的需求不同,使用无争议搜索词的目的也不同。

  

  全文摘要

  搜索引擎是一个非常复杂的系统工程,涉及到很多算法和工程实现。本文旨在与大家简单梳理一下搜索引擎的基本组成和运行原理,可以算是科普文章。

  一个搜索引擎的每一个模块都做起来并不容易,也是互联网产品科技含金量的典型代表。深入研究一个模块会受益匪浅。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线