0

我正在使用自动完成功能使用 Haystack + Solr 实现搜索。有一个搜索栏,它通过 ajax 将其内容发送到 haystack + solr 服务器。它发回一个呈现的 html,它将由 jquery 的 .html() 显示。有时查询的执行时间过长。

如何告诉 Solr 停止执行自动完成查询?

例子:

  • 用户想要搜索名字“Oliver”

  • 在“Oli”的 keyUp 事件中,solr 得到 100 个结果。处理html
    需要 0.5 秒。

  • 与此同时,用户继续输入,现在 ajax 发送一个查询
    “Oliver”,得到 3 个立即显示的结果。

  • “Oli”的结果稍后收到,因此
    “Oliver”的结果被替换。

是否可以向 Solr 服务器发送停止消息?它会解决这个问题。

任何帮助将不胜感激。

谢谢

埃里克

4

1 回答 1

0

我用更聪明的方式解决了这个问题。实际上,由于您无法控制从 haystack 服务器获得的响应,因此我更新了我的 JS,因此它在显示之前检查了我返回的 html。事实上,我检查 html 是否与搜索栏的关键字匹配。

于 2013-08-06T16:26:42.253 回答