2012-02-29 73 views
0

我正在使用開源搜索引擎Lucene的搜索應用程序。 Lucene在幾毫秒內返回結果。我的問題與下面給出的鏈接有關。這將是巨大的,如果你可以訪問此鏈接:有趣的計算設計用戶界面的東西

http://www.netrics.com/demo/

單擊名稱,然後鍵入任何名稱,它將開始渲染和改變根據所鍵入的每個字符,結果我知道它是一樣的東西Google即搜即得。我已閱讀了關於Google即時功能的一些答案,但它們對我來說有點複雜,因爲我不是來自UI世界。

我只是想知道這項技術或一個簡單的算法,可以讓我做一些細節。我對UI的東西沒有太多的想法。正如我所提到的,我的搜索基礎設施以超快速的方式返回結果,所以現在它對我來說是一個有趣的「UI」計算問題。

回答

2

如果你有非常快的搜索引擎 - 這很容易做到,但在服務器端需要大量資源。

首先,使用Firebug(firefox)或Dragonfly(Opera)或類似工具來預覽在更改搜索查詢中的任何字符時發生的情況。

網站請求的URL這樣的: https://demos.netrics.com/ncc7/find_json?table_name=names1M&sensitivity=0.843&query=abc&callback=jsonp1330501624190&_=1330501901072 和服務器端腳本返回JSON對象,它被解碼和搜索結果(使用JS)更新客戶端。

它不是很複雜也很難做,但正如我所說 - 當你的應用程序受歡迎時,它需要大量的服務器資源。

+0

回答Tomasz +1。 – Yavar 2012-02-29 08:15:09

+0

我可以看到URL中的查詢參數,這是完美的。但我仍然不明白回調參數。 JSON應該全部與服務器端相關,並且客戶端應該僅向服務器提供查詢,並且服務器可能會返回JSON。它與查詢中請求一些json的客戶端有什麼關係?也可以是XML而不是JSON?爲什麼特別是JSON? – Yavar 2012-02-29 09:05:33