谷歌/ Gmail的/等.不提供部分或前缀搜索(例如东西*)虽然它可能非常有用.我常常在GMail中找不到邮件,因为我不记得确切的表达方式.
我知道有干事等等,但它不一样,特别是如果我们谈论的是英语以外的语言.
为什么Google不添加这样的功能?是因为索引会爆炸吗?但数据库提供部分搜索,所以肯定有很好的算法来解决这个问题.
这里有什么问题?
Google会搜索部分字词.但Gmail不是.既然你问这里有什么问题,我的答案就是缺乏努力.这个问题有一个解决方案,可以在恒定的时间和线性空间搜索,但不是非常缓存友好:后缀树.后缀阵列是另一种选择,它更加缓存,并且仍然具有时间效率.
Google实际上并不存储其搜索的文本.它存储搜索术语,页面链接以及术语存在的页面位置.该数据结构以传统数据库意义索引.我敢打赌,使用通配符会使索引的索引相当缓慢,正如Developer Art所说,这不是很有用.