这个问题很简单。使Web应用程序的客户端的自动完成功能非常简单。有很多插件。在服务器中实现AutoComplete的最佳方式是什么?
但是,在背后,在服务器端,最好的方法是什么?我不喜欢这个想法,每个用户都有一个按键。
我一直在想狮身人面像,或一些全文搜索引擎从你的网站并行运行。
例如,如果我有一个PHP(高流量)的网站,我可以创建一个并行python脚本,从我的“自动填充文本框”获取http请求。然后,当用户在客户端按下某个键时,AJAX请求会被引导到可以使用特殊策略的那个python脚本。
你的问题是什么?
一些约定:
- 尽量不要打DB。我的意思是,获得 的请求并做一些事情SELECT * FROM foo WHERE bar LIKE“req%”不是 的一个很好的答案。这可能是一个很好的策略,但我知道该怎么做。*
- 复制数据可能是一个不错的选择。
您似乎对服务器端可用的语言和技术有一些没有说明的假设。如果你想陈述他们,那么给出一个切实的答复会更容易。 – bmargulies 2010-11-06 21:59:31
这组候选字符串有多大?用什么标准对它们进行排名(即对每个人,每个用户甚至是每个请求标准都是一样的)? – 2010-11-06 22:01:51
@bmargulies我正在努力关注建筑。但是,作为指导。“搜索框架”(例如Lucene,Sphinx,Memcache等)可以是任何可以安装在Linux服务器上的东西。然后,关于语言,如果它是一个广泛采用的框架,它会有库,但可以考虑使用良好的语言:Java,Phython,PHP。 – santiagobasulto 2010-11-06 22:43:55