这个问题很简单。在Web应用程序的客户端中使自动完成变得美观是简单的,有很多插件可用。但是,在后端,在服务器端,最好的方法是什么?我不喜欢每次用户按键时都要访问数据库的想法。
我一直在考虑使用Sphinx或一些全文搜索引擎并行运行于您的网站之外。例如,如果我有一个PHP(高流量)网站,我可以创建一个并行的Python脚本来获取来自我的“自动完成文本框”的HTTP请求。然后,在客户端按键时,AJAX请求被指向该Python脚本,该脚本可以使用特殊策略。
您的做法是什么?
一些约定:
尽量避免访问数据库。我的意思是,执行SELECT * FROM foo WHERE bar LIKE "req%"这样的请求不是一个好的答案。它可能是一个好的策略,但我知道如何做到这一点。
复制数据可能是一个不错的选择。
我一直在考虑使用Sphinx或一些全文搜索引擎并行运行于您的网站之外。例如,如果我有一个PHP(高流量)网站,我可以创建一个并行的Python脚本来获取来自我的“自动完成文本框”的HTTP请求。然后,在客户端按键时,AJAX请求被指向该Python脚本,该脚本可以使用特殊策略。
您的做法是什么?
一些约定:
尽量避免访问数据库。我的意思是,执行SELECT * FROM foo WHERE bar LIKE "req%"这样的请求不是一个好的答案。它可能是一个好的策略,但我知道如何做到这一点。
复制数据可能是一个不错的选择。