在知乎看到一个有趣的问题:
一天内百度一个词一万遍,能否变成热词?
搜索一个网站几万次,能否提高搜索排名?
反复搜索几万次,对搜索引擎有什么影响?
想回答上述问题,需要一点搜索引擎的知识。
以下都用百度代指搜索引擎吧。
按下搜索按钮后,发生了什么
和Word直接进行查找不同,我们输入的搜索词,百度不会直接用于检索,而是先分词。
1分词
比如,搜索“小曹同学的学习笔记”,百度可能分成
小曹、同学、学习、笔记
4个词去检索。
下面的图片就是分词检索的结果:
因为包含了4个检索词,所以这个网页能被检索到。
分词,是为了快速检索。
百度抓取的网页,每一个都和很多个词建立了对应关系,就像配对连线一样。
这样,只要找到对应的词,就找到了对应的网页。
分完词就进行检索么?不是的。
2缓存
Google平均每秒要处理63000多次搜索请求。
百度没有比较准确的数据,但2018年4季度的财报显示,百度APP每天有1亿6千万的活跃用户。
假设这些用户每人搜索一次,平均下来,百度每秒要处理1900多次搜索请求。
想要快速的满足这么大量的搜索请求,实时计算是不可能的,需要通过缓存。
网络上有很多重复的搜索,比如,搜索天气、搜索菜谱、搜索放假安排等等。
你搜索一次“清明节放假”,和我搜索的结果应该是一样的。那么,百度就可以把“清明节放假”的搜索结果,做成固定页面,存到缓存里面。
有人搜索的时候,百度一看,缓存里面有,直接提取这个页面。这样就减轻了服务器的资源消耗。
然后定期更新缓存,就可以保证搜索结果不会过时。
那,缓存里没有呢?
3排序
缓存里面没有,百度也不能说找不到网页呀,那多尴尬。
这时就得现找网页、现排序。
网页从索引里面找。索引,就是分词那一节说的词和网页的对应关系。
从索引里面找相关的网页,就是在做连线配对,找到和检索词对应的网页。
然后是排序。
这步比较复杂,可以理解成,百度有一套公式,把网页内容、链接关系输入进去,就能算出一个排序结果。
排序完成,就可以生成搜索结果页,返回给我们了。
基本流程是这样。
不过想要回答开头的问题,还得增加两个环节。
4用户行为和反作弊
百度也不知道自己的排序结果是不是最好的,能不能满足我们的搜索需求。这就需要用户来给他打分。
怎么打分呢?通过我们的行为,比如点击。
假设,百度下“清明放假”,第一条是放假时间的网页,第二条是放假通知模板的网页。
网页修改过,真实搜索结果不是这样的
如果每个搜索“清明放假”的用户,都不点第一条,而是点第二条,那么,百度就会认为,我们只想找通知模板。
搜索并点击第二条的用户多了之后,百度就会修改排序,把通知模板网页排到第一名。
既然百度会调整排序结果,很多人就动了歪脑筋。
他们网站的内容不怎么样,但想通过百多获取大量的流量,就会通过各种手段去作弊,影响排序结果。
作弊的手段之一,就包括伪造用户行为。
百度为了排序结果不被这些网站干扰,就需要反作弊系统。
至此,搜索引擎的检索排序系统基本完善了,可以回答开头的问题了。
1天内百度1个词10000遍,能否变成热词
不能。
如果热词指的是上热搜榜,比如下图:
答案是不能。因为这样的词,
不单单是搜索量大、爆发式增长,
同时,搜索行为是在大范围内产生的,
并且,相关内容的网页也在爆发式增长。
所以,单纯依靠个人的力量,搜索某个词一万遍,是变不成热词的。
如果热词指的是百度指数比较大的词,在一天之内是不行的。
因为昙花一现的词,只能算是长尾词,比如下图:
想要维持词的搜索指数,需要持续的搜索。
一个人,一台电脑,做不到。因为,短时间内搜索次数过多,百度会要求输入验证码:
如果是通过技术手段,或者其他方式去持续产生大量的搜索,那么是可行的。
很多公司、明星刷指数,就是这么做的。
搜索一个网站几万次,能否提高搜索排名
如果自己搜索,很快会遇到验证码等防范机制。
如果通过其他手段:
单纯搜索,不点击,不能。
搜索几万次,并进行点击等行为,需要考虑百度的反作弊系统。
如果暂时没被反作弊系统监控到,那么在搜索的词上面,网站的排名会暂时上升。
一旦被反作弊系统监控到,那么排名必然下降。
但是反作弊系统是有漏洞的,或者百度懒得搭理一些小虾米,所以总有人在刷指数、刷排名。
比如在《SEM M 8 note:通过搜索分析需求的弊端》中提到的例子:
不过,短时间内排名提升后,想要维持排名,需要能吸引并留住自然流量,也就是真实用户。
比如,用户真的喜欢这个网站,愿意点击、浏览、分享等等。
如果用户不喜欢,百度就能统计到用户的行为,网站的排名依旧会下降。
除非一直刷流量,维持排名。
需要注意的是,真实的用户群体不会只搜索1个词、2个词,而是各种各样的相关词都会搜索。
作弊网站的搜索词组成,和真实的搜索词必然是不一样。
所以百度想查作弊网站,还是比较容易的,就看想不想查,想不想处理。
反复搜索几万次,对搜索引擎有什么影响
不会有任何影响。
同前面两个问题,自己搜索,会遇到各种防范机制。
如果通过其他手段,成功产生了几万次搜索……也没什么影响。
因为搜索引擎进行检索排序之前,有缓存系统,直接提取一个网页给我们就可以,而一个搜索结果的体积太小了。
比如,百度下“知乎”,然后保存下来,会发现网页不超过250KB:
加上网页的其他文件,总共也不过795KB。其中还有很多是保存在浏览器的缓存里面的。
我们按1M来计算,10万次搜索也不过10万M的流量,也就是不到100G……
如果当成一次DDoS攻击的话,都不需要百度,百度云加速就可以轻松应对:
百度云加速是给其他公司提供网络加速服务的,如果是百度自己用,怎么着也得是旗舰版定制下吧。
缓存里面没有对应的搜索结果时,百度才会进行检索和排序计算。
如果搜索次数多,这个结果也会进入缓存里面。
如果这几万次搜索是大范围产生的,并且没被反作弊系统监控,那么也只是暂时改变了一下这个词的搜索结果排序,而已。
其实,开头3个问题的情形,百度、Google等每时每刻都在经历。