美文网首页
elasticsearch的分页问题

elasticsearch的分页问题

作者: 码农也越野 | 来源:发表于2017-09-06 19:55 被阅读0次

    1.from + size
    传统的from+size的方法在数据量小时,客户端获取要求有顺序时可以使用。
    2.scroll + scan
    在数据量太大,尤其是需要遍历全部数据时,应该使用这种方式。
    原因:假设每页大小为10,在获取第1001页时,es实际上是向每个分片发送请求第10000到10010的数据,每个分片会进行一次排序,如果有十个分片,就会获取所有分片的前10个,因此给CPU和内存造成很大的压力。使用scroll方式,es生成一个快照,并维护一个scroll_id,相当于一个索引下标,这个id有个有效期,在有效期内每次获取都会递增。

    1. scanning scroll 查询与 standard scroll 查询有几点不同:
      A scanning scroll 查询结果没有排序,结果的顺序是doc入库时的顺序;
      A scanning scroll 查询不支持聚合
      A scanning scroll最初的查询结果的“hits”列表中不会包含结果
      A scanning scroll 最初的查询中如果设定了“size”,这个“size”是设定每个分片(shard)的数量,也就是说如果设定size=3,而有5个shard,每次返回结果的最大值就是3*5=15。

    相关文章

      网友评论

          本文标题:elasticsearch的分页问题

          本文链接:https://www.haomeiwen.com/subject/jwbvjxtx.html