Grails动态搜索,如谷歌

时间:2011-02-16 06:18:47

标签: mysql web-applications search grails dynamic

我正在构建一个Grails Web应用程序,对grails来说相当新。我正在寻找一个搜索过滤器窗口/窗格,当员工开始键入客户名称/电话号码或帐号时,它会在下面的窗口中过滤结果。有点像谷歌直播搜索。然后员工可以从下面的框中选择正确的人。我正在尝试搜索MySQL数据。我查看了搜索和过滤器窗格插件,他们说它们用于搜索..而不是它们根据框中输入的内容动态显示。我支持大约30台客户端计算机,但它们每天运行大约3000到5000个查询。主要通过姓氏或电话查询。

使用动态搜索结果实现此类自动完成的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

GrailsUI插件也有自动完成功能。不幸的是,该插件不再受支持,但自动完成确实有效。它有很好的记录。可能最好去jquery,但你可能会给GrailsUI看看。

答案 1 :(得分:0)

您需要站起服务器端点进行搜索。您需要在客户端构建或集成现有的自动完成小部件。 http://docs.jquery.com/UI/Autocomplete#options。基本上,您将此窗口小部件配置为在满足某些条件后转到URL(例如用户需要在搜索发生之前输入2个字符)

服务端点可以非常简单,但需要很快,因此如果您还没有,可能需要考虑使用二级缓存。或者您可以在没有缓存的情况下启动,只有在性能成为问题时才使用它。

由于您通过名称或电话号码确定了搜索,因此您当然需要为每个使用jquery一次,并且您需要为每个服务方法使用一个服务方法(或者一个服务方法同时执行这两个操作方法,传入forName的参数或者通过电话,但我会做单独的服务)。

由于您正在搜索简单字段,因此我认为您不需要使用可搜索的插件,但如果您通过大量文本搜索字段,则可能需要使用它。