我们正在开发像www.justdial.com这样的网站。 我们希望提供自动完成功能。
此自动填充功能应与justdial的性能一致。
我们正在使用索引,请提供更多提供超高速自动完成功能的方法。
答案 0 :(得分:1)
我对这个主题没有多少经验,但我刚刚实现了JQuery自动完成,中等大小的列表〜(1,000)条目,启用了部分匹配,但速度仍然非常快。我使用的唯一技巧是为列表创建单独的js文件并首先从html调用它们。我也没有准备好使用jquery,所以完整列表立即上传。实际调用自动完成功能是在页面就绪时完成的。 JQuery AutoComplete
不幸的是我无法添加实际的代码,因为数据是敏感的,但是它就是......
<html>
<body>
Some HTML
<script type = "text/javascript" src = "collection.js"></script>
<script type = "text/javascript" src = "jquery.min.js"></script>
<script type = "text/javascript" src = "autocomplete.js"></script>
</body>
</html>
集合.js看起来像
var collection = ["1","2","3", ... "1000"];
和AutoComplete.js看起来像
$(document).ready(function(){
$("#form").autocomplete(collection, { matchContains:true });
});
我不知道Jquery的内置优化内容,但对我而言似乎相当快。
我相信即使是谷歌“建议”功能也使用了javascript,所以只需要保持列表排序并有效地划分它们?也许Huffman Coding会有帮助吗?