2016-04-12 09:06:37
OK,经过我3天的调整,终于在昨天百度更新了我的首页快照,也重新收录了本站的文章,这一点我还是挺高兴的,终于看见百度正常了一次。呵呵,废话不多说,讲点知识上的东西,先讲一下百度搜索引擎分词算法的分析,这篇主要讲的是查询处理的问题。
关于用户向搜索引擎提交查询,搜索引擎一般在接受到用户查询后要做一些处理,然后在索引数据库里面提取相关的信息。那么百度在接受到用户查询后会做些什么工作呢?假设用户提交了不只一个查询串,比如“大连SEO 企业网站优化 排名工具”。那么搜索引擎首先做的是根据分隔符比如空格、标点符号、将查询串分割成若干子查询串,比如上面的查询就会被解析为:<大连SEO,企业网站优化,排名工具>三个子字符串;这个大家都知道,那么我们接着往下说。假设提交的查询有重复的内容,搜索引擎怎么处理呢?比如查询:大连 大连SEO,百度是将重复的字符串当作只出现过一次,也就是处理成等价的“大连SEO”,而谷歌显然是没有进行归并,而是将重复查询子串的权重增大进行处理。那么是如何得出这个结论的呢?我们可以将“大连SEO”提交给百度,返回258,000篇文档,大致看看先进页的返回内容。继续,我们提交查询“大连 大连SEO”,在看看返回结果,仍然是那么多返回文档,当然这个不能说明太多问题,那看看先进页返回结果的排序,看出来了吗?顺序基本没有太大变化,而谷歌排序就有些变动,这说明百度是将重复的查询归并成一个处理的,而且字符串之间的先后出现顺序基本不予考虑(谷歌是考虑这个顺序关系的)。
其次假设提交的中文查询包含英文单词,搜索引擎是怎么处理的?比如查询”电影BT下载”,百度的方法是将中文字符串中的英文当作一个整体保留,并以此为断 点将中文切分开,这样上述的查询就切为<电影,BT,下载>,不论中间的英文是否一个字典里能查到的单词也好,还是随机的字符也好,都会当作一个整体来对待。至于为什么,你用查询“电影dfdfdf下载”看看结果就知道了。当然如果查询中包含数字,也是如此办理。
到目前为止,一切很简单,也很清楚,百度怎么处理用户查询的呢?归纳如下:首先根据分割符号将查询分开,然后看看是否有重复的字符串,如果有,就抛弃多余的,只保留一个,接着判断是否有英文或者数字,如果有的话,把英文或者数字当作一个整体保留并把前后的中文切开。
上一篇:频繁改动标题被降权后应对之策
下一篇:从两方面解析百度快照正常情况