国内外搜索引擎精确搜索实际应用对比
时间:2023-03-19 22:20:01 | 来源:电子商务
时间:2023-03-19 22:20:01 来源:电子商务
这篇文章主要是之前写的文章的继续和补充(见链接)。
在之前的文章中,我主要介绍并从多个角度对比了百度、谷歌和必应搜索引擎。在这篇文章中,我将从实际场应用场景出发,去对比国内外主要搜索引擎的索引逻辑和算法,并提出一些评价。当然,由于篇幅所限,我不可能做到面面俱到。同时,虽然我的专业是电气和计算机工程,但是我不曾在相关搜索引擎公司就业,所以我将主要从用户的体验来评价和分析。因此,欢迎各位读者在评论区提出自己的见解和补充。
除了关键词搜索和联想外,精确搜索,或“完全匹配”(Exact Match),是搜索引擎的一个非常重要的功能。通常情况下,搜索引擎会将包含在双引号(“”)中的内容视为用户需要查找的完全匹配的内容,并将其设为优先的过滤条件,也就是优先显示包含完全匹配于双引号中内容的结果。按理说,相比于在海量的数据库中寻找相符的关键词,过滤完全匹配的结果的技术难度会小很多,毕竟省去了关键词联想等步骤。
根据谷歌的官方介绍,谷歌的搜索引擎在爬行过的所有结果(包含网页、文本文件等)中的每一个字都做了标签。当用户在谷歌搜索栏中搜索完全匹配的结果时,谷歌搜索引擎会将引号中的内容与标签做对比,并显示完全匹配的结果。事实上,所有的搜索引擎运作原理都是如此。由此可见,理论上只要多个搜索引擎都收录了某一个网页,当用户截取这个网页当中的一段文字并使用完全匹配搜索时,这些搜索引擎都应该显示这一结果。然而,实际操作起来似乎不完全是这样的情况。
首先,我们先在搜索引擎上随便查找一个结果,并且确保这个结果同时被多个搜索引擎收录。然后,我们截取这个结果当中的任意一段内容(图一)。
图一接着,我们把这段内容粘贴到多个搜索引擎的搜索栏中,并用引号包围(图二、图三)。
图二图三在以上这个例子中,我们可以发现,即便这个网站同时被百度和谷歌收录,但是当我们使用完全匹配进行搜索时,只有谷歌成功地索引除了相对应的结果。值得一提的是,手机版的百度(m.baidu.com)和电脑版的百度(baidu.com)网页的搜索引擎使用的是两套不同的算法,因此,即便在搜索栏中输入同样的内容,索引的结果也不一样(这里主要以电脑版为例)。但是在这个例子当中,无论是手机版还是网页版,百度搜索引擎都无法索引出包含完全匹配内容的结果。甚至,当我们把引号中的内容缩短,仍然无法搜到相关的结果(图四)。
图四然而,在过去的使用当中,我发现,百度很多时候仍然是可以有效地进行完全匹配搜索的,并且在搜索中文内容的方面,百度很多时候比谷歌更加有效(在之前的那篇文章中有提到)。显然,百度搜索引擎在基础的逻辑上进行了优化。
在另一轮对比实验当中,有一个结果虽然同时被百度、谷歌、必应、360等搜索引擎收录,但是当使用完全匹配进行搜索时,唯独360能够索引出结果(图五),但即便如此,其排名也不是第一位。与此同时,百度则将引号中的内容拆分成了多个关键词,并由此进行搜索(图六)。
图五图六按理说,无论是百度、谷歌,还是其他的搜索引擎,都会在其收录的结果中的内容进行标签。而精确搜索(完全匹配)的技术含量是较低的,但是市面上较为复杂的搜索引擎有时却无法有效地索引出相关的结果。我认为,这当中有更深层的原因。
虽然理论上,完全匹配搜索实现起来会相对简单,但是搜索引擎的数据库储存了数以万计的页面;一页一页、一行一行地寻找显得不切实际。通常情况下,搜索引擎会将索引时间限制在一定的范围内。然而,这样做的后果就是对搜寻结果的数量进行妥协,也因此不可避免地忽略了一些结果。为了尽可能地在规定时间内找到更多的相关结果,不同的搜索引擎采取了不同的逻辑和算法。以百度搜索引擎为例,当没能在规定时间内寻找到相符的结果时,会将引号内的内容拆分成多个关键词,并列出包含这些关键词的结果(也有时候百度搜索引擎并不会拆分关键词,于是直接反馈空白的结果页面)。虽然这样做可以将搜索范围变得更广,我认为将引号内的内容进行拆分,似乎从根本上有违精确搜索的初衷。与此同时,百度搜索引擎的关键词拆分方法有些时候显得较为随机。而其原因可能与网络传播速度有关。我的猜想是,当用户使用搜索引擎时,用户的设备发送的指令当中含有时间信息;搜索引擎服务器根据用户的指令传输的时间来决定搜索多少信息。所以,在国外使用百度搜索引擎似乎会搜到较少的结果,因为百度搜索引擎的服务器全部位于中国内地。
以上。