Google Chrome Omnibox如何自动完成工作?

时间:2014-11-10 03:45:24

标签: algorithm google-chrome autocomplete omnibox

以下帖子中的评论对于理解算法的一部分特别有用。

How does Chrome update URL bar completions?

然而问题仍然存在。我在Chrome上做了一些实验:

  1. 当我输入" eddit"时,它只建议" reddit"对于一般的谷歌搜索,如果我输入" reddit"完全,历史reddit url pops。

  2. 如果我输入" facebook"的子字符串或者" google"或" youtube",然后网址成功弹出。说" ceb"," ogl"," utu"。因此,尝试不应该是这里使用的(唯一)数据结构。

  3. 此外,我知道Chrome正在使用sqlite的fts进行全文搜索(sqlite属性fts 3/4到Google)。所以我猜Chrome在sqlite中使用了倒排索引的url。

    我的问题是:

    Chrome如何设法自动完成" utu" - > " youtube"?(根据我当地的历史网址)

    1. 我知道后缀数组/树可以有效地匹配子字符串。但找到特定的词" youtube"将是线性的。
    2. 我猜一个定制的标记器(对于fts3 / 4)可能会实现这一点。说" google" - > {" g",...," gle",..}。但是会产生太多的令牌。

0 个答案:

没有答案