1

我正在尝试仅使用客户端 JavaScript 来实现 Fusion Tables 界面中可用的自动完成逻辑:

在此处输入图像描述

到目前为止,我发现这个效果很好:https ://developers.google.com/fusiontables/docs/samples/autocomplete

它允许我检索属性的所有值,组合在一起,以便我可以自动完成它们。问题是它非常慢。查询

"SELECT 'Store Name', COUNT() " +
            'FROM ' + tableId + " GROUP BY 'Store Name'

每次运行最多需要 10 秒。这是因为我的表很大,超过 15 万行。

但是,上面屏幕截图中的本机界面非常。我尝试查看代码并查看他们正在进行的查询类型(也许他们有这些结果的缓存),但我找不到任何可以引导我找到解决方案的东西。

有任何想法吗?我的想法是,如果谷歌原生界面正在这样做,那么我肯定也有办法这样做......我想避免不得不使用第三方服务器来缓存这些结果,那将是很容易解决,这不是我的问题的解决方案。

4

1 回答 1

0

我认为他们在服务器端使用嵌套集和 trie 数据结构之类的东西。嵌套集查询速度快,但插入速度快,而 trie 数据结构的文本检索速度也快。我认为您可以将两者结合起来进行快速查找。

于 2012-07-30T08:20:10.940 回答