当我搜索文档时,我将前 10 个元素提供给视图,如果用户滚动到列表末尾,则应显示接下来的 10 个元素。
我知道显示文档的最后一个文档 id,现在我必须得到下一个 10。基本上我会执行完全相同的搜索,偏移量为 10,但能够使用相同的查询进行搜索会好得多,把最后检索到的文档的文档 ID 并在具有该 ID 的文档之后检索匹配的文档。
弹性搜索有可能吗?
=== 更新
我想进一步指出我的问题,因为现在描述的似乎还不够清楚。对此感到抱歉。
案子:
你有一种饲料,饲料每秒都会增长。如果用户转到提要,他会获得最近的 10 个条目,如果他向下滚动,他想获得接下来的 10 个条目。
由于提要每秒都在增长,因此通常的偏移量/限制(弹性搜索中的来自/大小)无法解决此问题,您将显示已显示的条目或全新的条目,具体取决于第一次请求之间的时间(前 10 个条目)以及对下一个条目的请求。
在已显示条目之后获取下一个 10 个元素的请求为后端提供了显示的最后一个条目的 id。后端知道忽略此特定条目之前的所有条目。
目前我在代码中处理这个问题,我从 Elasticsearch 请求包含所有匹配条目的列表并对其进行迭代,这样我就可以做我想做的一切(毫不奇怪)并提取所需的整体块。
我的问题是:在弹性搜索中是否有针对此问题的内置解决方案。因为在路上解决问题并不是最快的。