我正在尝试实现一个VisualSearch.js查询框,但是使用REST接口从存储在数据库中的信息构建其方面。
例如,输入方面可以是“用户电子邮件”,然后当他们键入前几个字母时,用户的电子邮件将被过滤掉,直到找到正确的电子邮件。
我发现的问题是如何实现这一点,以便它只在用户名“锁定”该方面时发送用户名的请求(或者更理想的是,当第一个字母按下时搜索范围最小化)。否则,似乎每次加载页面时我都会加载所有facet及其值。如果我还包含其他可搜索的对象和值等,则会发送大量查询。这几乎就像加载整个数据库中的所有可搜索元素,然后可以对其进行过滤。
作为额外的信息,我正在使用REST API的cakePHP后端。
非常感谢。
答案 0 :(得分:1)
看起来valueMatches
事件适合您的机票:
http://documentcloud.github.com/visualsearch/#usage
所以基本上看看facet == "email" && searchTerm.length == 1
然后关闭你的AJAX查询,然后用服务器过滤的数据调用callback
。