经过搜索引擎的抓取和预处理,形成基础的检索数据库,但是还要经过一系列的检索过程,才能返回符合用户需求的结果。这就是搜索引擎工作与用户交互的重要流程,用户在搜索引擎的界面输入需要查找的关键词,搜索引擎会对关键词进行过滤和拆分,并查找各词的网页文件,找出其中的交集,确定最低排名权重值,对达到标准的网页文件进行排名计算,并加入影响排名的特殊条件,如惩罚和人工加权等,获得最终的排名结果返回给用户。这就是完整的检索过程,检索完成后,搜索引擎还会继续工作,那就是利用用户搜索习惯优化检索服务。如图2.27所示为一般搜索引擎检索服务的流程。
(1)处理搜索词:对用户输入的搜索词,进行拆分、去噪、调用方式选择等操作,以确定检索命令。
当搜索引擎接收到用户提交的搜索词后,搜索引擎首先会对搜索词进行拆分(主要是在汉字中),因为这是和网页拆分相对应的,所以拆分方式相同。拆分成最优词组后,过滤掉搜索词中对搜索结果意义不大的词,如“啊’’、“哈”、“了”等,以提高搜索结果的准确率,降低检索时间。一般情况下,这些经过拆分去噪的词组,会使用逻辑“与”,即“+”类型,就是一个网页中同时含有这些拆分的关键词,才是更符合条件的网页,如“网站优化”的搜索命令就是调用含有“网站”和“优化”两个词的网页;另外搜索引擎中还有其他逻辑类型,如逻辑“或”、“非”等,“或”即网页含有其中一个词,“非”即网页中不含有某词。搜索引擎能判断不同组合的搜索词,确定搜索命令,用于提取出数据库中符合条件的网页文件。
例如,用户搜索“电脑无法启动了”,搜索引擎就将其拆分为“电脑”、“无法”、“启动”、“了”,其中“了”并没有实际意义,或者说对搜索结果的影响不大,而且含有“了”的网页文件太多,再做筛选的意义不大,因此“了”就会在搜索命令中去掉,但是有时候我们也能看到有“了’’的结果,那是因为搜索引擎把“了”和其他词作为一个词,而且数据库中也有此索引。经过过滤形成“电脑”+“无法”+“启动”的搜索命令,以查询同时含有这几个词的网页文件。如图2.28所示为百度搜索“电脑无法启动了”的结果,从结果第3位看出,搜索词“了”并不单独作为搜索命令中的一部分,所以过滤单独筛选命令,另外结果中同时含有“电脑”、“无法”、“启动”三个词。
(2)匹配文件范围:经过处理的搜索命令,会在搜索引擎数据库中进行检索,确定符合命令要求的文件,由于搜索引擎结果条数的限制将这些符合搜索命令要求的网页按权重值由高到低排序,只选取搜索结果数量的网页,作为等待排名的文件范围。
搜索引擎根据搜索命令单个查询拆分词的网页文件,由于是逻辑“+”,所以只有共同含有各个拆分词的网页文件才会被提取出来。经过第一层筛选出的网页文件还不能直接参与排名,因为一般用户搜索的结果至少有几十万甚至几千万的结果,全部计算排名的话,计算量就非常大,而用户并不需要查看全部的结果,通常只会浏览几页的结果,所以搜索引擎一般显示100页以内的结果。如图2.29、图2.30和图2.31所示分别为百度、谷歌、搜搜的搜索结果页数,都不超过100页。
由于这个规则,搜索引擎只需要计算出100页,即最多1000个结果排名就可以了,这样大大降低了搜索引擎的工作负担,提高了搜索引擎的反应速度。这时候搜索引擎就需要利用网页的权重值判断网页的重要性,也就是将网页权重值排名前1000位或更多一点的网页,作为最后的参与计算排名的基础范围。
(3)排名结果:搜索引擎对确定参与排名的网页文件进行相关性计算,以获得最终返回给用户的搜索结果。
搜索结果的排名是搜索引擎工作中,最受东莞SEOer关注的搜索引擎工作原理,因为直接影响网页的排名次序,由于影响排名的因素非常多,后面还会具体进行讲解,这里只介绍搜索引擎大致排名过程。
在搜索结果中,影响网页排名的主要因素有两个,内在网页自身质量因素和外在网页记录因素。通常内在网页质量的判断多是分析网页与搜索词的相关性如关键词的完全匹配度、关键词出现的位置、关键词的频率密度、关键词的形式、网页权重值等。而外在网页记录因素多是对网页外链和网页浏览记录的分析,如外链数量、外链广泛度、关键词外链、网页在搜索引擎的单击记录等。
通过对网页排名的计算,已经大致确定了搜索结果的排名,这时候搜索引擎还会对网页进行惩罚和人工置前。惩罚是通过算法将有作弊嫌疑的网页,进行固定位置的做法,如百度的11位惩罚、谷歌负6惩罚等;而人工置前是对有特殊需求的网页进行一定的人工排名提高,如官方网站、特殊通道等。经过干预和过滤后,排名结果就会返回给搜索者。
(4)检索优化:通过收集用户搜索的数据,优化检索服务,使搜索准确化、个性化、效率化。
在返回搜索结果后,搜索引擎与用户会继续进行交互,搜索引擎会提取用户的IP、搜索时间、搜索词、浏览的网页等。通过rP搜索引擎能获取用户的地区,根据各地区用户搜索的内容的差别、返回用户特定地域的排名结果,以及用户的搜索习惯,返回用户经常单击的网页等;另外根据用户的单击记录,对网页的排名优化也有一定帮助,用户单击更多的搜索结果能得到更好的排名;一般情况下,搜索引擎还会将用户经常搜索的关键词的结果进行缓存,以便其他用户在搜索时提高结果返回的速度。
搜索引擎主要通过以上3个方面,对搜索的结果进行优化,以达到更快、更准确的返回给用户,提升用户体验的目的。