2012-02-29 91 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