我正在部署一种多次使用参数的方法。我希望了解'skip'在弹性搜索或其他类似系统中的工作原理,以判断它所带来的性能损失。
答案 0 :(得分:2)
这取决于search type。如果您使用默认值query then fetch
,然后获取大小为10(from: 190, size: 10
)的第20页,则elasticsearch将:
这意味着如果你有例如3个主要副本,然后elasticsearch节点需要交换有关3 * 200 = 600个文档的信息。有一些优化可以使获得特别“远程”页面的效率更高,但简而言之,每次获取下一页时都需要处理越来越多的文档。
如果您的用例涉及按顺序浏览结果集,请考虑scrolling。