有关 es 中 scroll 的疑问 - V2EX
rqxiao

有关 es 中 scroll 的疑问

  •  
  •   rqxiao Jul 14, 2022 4946 views
    This topic created in 1415 days ago, the information mentioned may be changed or developed.
    es 分页查询可以用 from,size 实现。这种查询会有两个步骤
    1.query
    搜索请求被发送到某个节点时,这个节点就变成了协调节点,协调节点会转发请求到索引的每个主分片或副本分片中。每个分片在本地执行查询并添加结果(ID 和排序值)到大小为 from + size 。如果有 n 个节点。协调节点会收到 n*(from + size) 的结果(ID 和排序值)。

    2.fetch
    协调节点 接收到 n*(from + size)的结果,将其全局排序。然后取当前页的数据,向相关的分片取完整的数据。



    那 scroll 完成分页,不也要经历这两步? 第二步 fetch 阶段不也是耗性能的深度分页吗?是不是说 scroll 第二部只做一次,然后将其全局的数据保存成一个快照。之后就不会取 fetch 。 但是 from ,size 是每次都要做 fetch ?
    1 replies    2022-07-14 16:09:41 +08:00
    sy20030260
        1
    sy20030260  
       Jul 14, 2022
    仅就深度分页,scroll 的主要提升来自基于 scroll_id + server 端 context 实现的类似游标查询。
    以分页大小 100 ,查询第 100 页为例:普通分页查询( from/size )需要对 0~100100 的数据进行查询和排序,而游标查询根据 scroll_id 可以不再需要查询和处理 0~10000 的数据,所以不存在深度分页下的性能问题。scroll 还是需要 query/fetch 等阶段,只是处理的数据量都减少了。
    About     Help     Advertise     Blog     API     FAQ     Solana     2535 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:39 PVG 23:39 LAX 08:39 JFK 11:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86