为啥谷歌不提供部分搜索?是否因为索引太大了?

Posted

技术标签:

【中文标题】为啥谷歌不提供部分搜索?是否因为索引太大了?【英文标题】:Why doesn't Google offer partial search? Is it because the index would be too large?为什么谷歌不提供部分搜索?是不是因为索引太大了? 【发布时间】:2010-12-22 13:14:23 【问题描述】:

谷歌/GMail/等。不提供部分或前缀搜索(例如 stuff*),尽管它可能非常有用。我经常在 GMail 中找不到邮件,因为我不记得确切的表达方式。

我知道有词干等,但不一样,尤其是当我们谈论英语以外的语言时。

为什么 Google 不添加这样的功能?是因为指数会爆炸吗?但是数据库提供部分搜索,所以肯定有很好的算法来解决这个问题。

这里有什么问题?

【问题讨论】:

【参考方案1】:

因为您无法明智地推导出 car* 的含义:

汽车? 地毯? 胡萝卜?

Google 的算法会比较文档文本以及外部入站链接,以确定文档的内容。有了这些通配符,所有这些算法都会变成垃圾

【讨论】:

在这种情况下应该返回所有结果。用户想要它,用户得到它。 我想这可以在技术上完成,但对大多数人来说可能没有意义。也许向谷歌提交请求。谁知道呢,也许他们只是错过了一个好主意?【参考方案2】:

Google 实际上并不存储它搜索的文本。它存储搜索词、页面链接以及该词在页面中的位置。该数据结构在传统数据库意义上被索引。我敢打赌,使用通配符会使索引的索引变得非常慢,正如 Developer Art 所说,它不是很有用。

【讨论】:

我找到了一个可以进行前缀(stuff*)和邻近搜索的搜索引擎! Exalead Web Search。单击高级搜索以查找这些选项。 @HughBrackett 感谢您的提示,但恐怕 Exalead 同时从他们的选项中删除了前缀搜索,即使在高级搜索中也是如此。 :-( 找不到了。【参考方案3】:

Google Code Search 可以根据正则表达式进行搜索,所以他们确实知道该怎么做。当然,与 Web 搜索相比,Code Search 必须索引的数据量很小。在网络搜索中使用正则表达式或通配符搜索会增加索引大小并将性能降低到不切实际的水平。

【讨论】:

【参考方案4】:

在 Google 中查找任何内容的秘诀是输入搜索字词(或引用的短语)的组合,这些字词很可能出现在您要查找的内容中,但不太可能一起出现在不相关的内容中。通配符表达式与此相反。只需输入您希望通配符匹配的字词,请记住 Google 会为您进行词干提取。早在计算机在 Steam 上运行的时代,Lycos (iirc) 就有模式匹配,但几年前他们将其关闭。我想这给他们的服务器带来了太多的负载。

【讨论】:

【参考方案5】:

Google 会搜索部分字词。 Gmail 没有。既然你问这里有什么问题,我的回答是缺乏努力。这个问题有一个解决方案,可以在恒定时间和线性空间中搜索,但对缓存不太友好:后缀树。 Suffix Arrays 是另一个对缓存更友好且更省时的选项。

【讨论】:

后缀树的替代方案是 N-Grams。哪些是高性能的,但存储效率不高。但仍然是一个解决方案。 另一种选择是停止使用 Gmail 并返回使用 Outlook。 :-) 虽然 Google 会搜索部分单词,但它不会匹配部分数字!这必须加以区分。例如,如果您查找部分序列号,您可能根本得不到任何相关结果。我现在已经尝试了足够多的时间来相信这不会奏效。 “Google 会搜索部分单词。” AFAIK 不会。不过,它会搜索同义词。 如果我在 Google 上搜索“定位”,我的结果包括“位置”和“定位器”。它不会说“您的意思是定位吗?”,也不会显示消息“显示定位的结果。请查看定位的结果”,就像您有明显的拼写错误一样(实际上,前几个结果与首字母缩略词“定位”)。它真的看起来像是匹配以“locat”开头的单词。我们将如何测试以确定它是在搜索部分词还是同义词?【参考方案6】:

可以通过 Google Docs - 关注这篇文章:

http://www.labnol.org/internet/advanced-gmail-search/21623/

【讨论】:

奇怪的解决方案,但它确实有效。不适合日常使用,但在搜索特定的正则表达式模式时非常有用(使用标签all)。

以上是关于为啥谷歌不提供部分搜索?是否因为索引太大了?的主要内容,如果未能解决你的问题,请参考以下文章

厂商不升级Android系统?谷歌发飙了

为啥我的图像对于 iPhone 来说太大了

一个TCP报文段的数据部分最多为多少字节,为啥

有啥办法可以抓取/抓取谷歌搜索的“关于”部分?

为啥压缩的PNG图片变大了?

在informix中索引的总大小太大或索引中的部分太多