這個問題很簡單。使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