减少搜索延迟的选项

时间:2016-10-26 19:07:18

标签: search solr architecture lucene latency

我正在使用solr / Lucene进行基于搜索的视觉搜索。

我正在为数万个视频编制字幕索引。随着人们输入,我希望实际视频加载并寻找字幕中找到的位置。当您“接受”结果时,“播放列表”将播放每个视频的片段(在字幕文本匹配之前/之后几秒)。

我需要采取哪些步骤将其构建为实时解决方案(假设带宽良好,但网络延迟(例如100毫秒)

对于初学者来说,存在将实际字幕存储在Lucene中的时间问题。推荐的方法是将Solr用作“索引”,然后自己下载任何文件。但是,如果我必须等待结果,则会增加另一次往返服务器,然后下载字幕文件。另一个选项是将base64编码为字符串,例如solr将其作为字段返回。

在没有在Solr中包含完整的字幕文件的情况下,有没有办法绕过这个额外的往返行程?这是一个关键问题,因为我希望在下载视频数据之前将实际的字幕文件与搜索位置一起使用。

其他选项包括使用LSTM语言模型预测查询并乐观地开始预先下载字幕文件,但这可能最终会干扰查询本身。

但核心问题是:

我可以“发送文本文档”以及Solr响应以保存往返服务器吗?

我正在使用Docker solr图像,但我想我可以将查询传递给代理(与Solr在同一台机器上)并执行Solr查询“本地”,然后发回两个响应(带有高亮显示)供用户查看)和字幕文档。但是,我实际上希望用户尽可能即时地查看文本结果,而不会通过发送文档来加倍数据传输。

换句话说,我想发送一个查询,然后并行回复2个响应:一个包含搜索结果,第二个包含字幕文件。但是我不确定我是否可以在这样的javascript中完成2部分响应。

我是否正确地思考这个问题?

0 个答案:

没有答案