【问题标题】:Autocomplete for Huge Arrays大型数组的自动完成
【发布时间】:2012-09-18 04:07:13
【问题描述】:

我正在构建一个网络应用程序,用户可以在其中搜索一个位置,并且可能的地点是从一个数量约为 10,000 个的数据库中提取的。我想为此使用 jQuery UI 自动完成插件,并且想知道将 10,000 个站点加载到它搜索的数组中是否现实。如果不是,我该怎么做才能使其工作并加快速度。

谢谢!

【问题讨论】:

    标签: arrays jquery-ui autocomplete jquery-ui-autocomplete


    【解决方案1】:

    您可能不想向每个浏览器发送 10,000 个位置。签出:http://jqueryui.com/demos/autocomplete/#remote

    jquery 将在传递 2 个字符后将部分字符串发送到服务器(在该示例中)。然后你发回10个左右的比赛。随着用户输入的字符越多,匹配越精确,直到用户看到他们想要的。

    我也用子字符串匹配来做到这一点,尽管快速而典型的方法是匹配字符串的开头。

    在服务器端,您可能希望以某种方式缓存匹配项。

    【讨论】:

    • 没问题。对于服务器上的数据结构,我使用了 memcache(任何类型的临时/有限内存缓存都可以),并且只保存搜索特定子字符串的结果。如果你想变得花哨/这成为一个瓶颈,那么你可以使用 trie 或类似的。 en.wikipedia.org/wiki/Trie
    猜你喜欢
    • 2012-05-30
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多