• Sliced Scroll


    在实现日常需求中,经常有 用到  Sliced Scroll 记录下

    官网使用情况

     max是切片数,是切片编号。最大值可以等于分片的数量,较低或更高。拆分首先在分片上完成,然后在每个分片上本地进行。这意味着,如果每个切片将是单个分片上的滚动。idmax == num_of_shards。      请注意,当切片数大于分片数时,将执行内存成本操作。您可以使用切片滚动进行并行重新索引、按查询更新和按查询删除在此处阅读更多内容。

     

    查询 2020-04-24 00:00:00 到 2020-04-26 12:59:59 所有条数,记录已经超过1万条,使用 Sliced Scroll,

     

    注意: "max": 5 ,max 可以去掉,去掉的话 就是可以查询全量

    GET xxxxindex/_search?scroll=1m
    {
      "query": {
        "bool": {
          "must": [
            {
              "range": {
                "curTime": {
                  "gt": "2020-04-24 00:00:00",
                  "lt": "2020-04-26 12:59:59"
                }
              }
            }
          ]
        }
      },
      "from": 0,
      "size": 1,
      "slice": {
        "id": 0,
        "max": 5
      }
    }

     

    这样写,它会返回 符合条件的总条数

    从视图中,可以看到 返回 “_scroll_id”

    刚设置的 scroll=1m,分片在一分钟内有效

    把返回 _scroll_id 内容复制到新的语句

     

     

     

    GET /_search/scroll
    {
    "scroll":"1m",
    "scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAHU1dFmVLWUlBc0RHU0NpbVNDX2dlOTRwdmcAAAAAAB5srBZHNUp2UzR3QVFfbVVRazZYdjN6cm13AAAAAAAeGzcWUlJNWFBmNGNUWnVGMVpjZnc2VVhrQQAAAAAAGiY-FjE4eG1peV9QUm8tajF3aGFxQzlrdWcAAAAAABylIBZ6M1o0U0FZS1RlT3NhOUROX1dkQmZB"
    }

    在1分钟以内,查询有效,返回下一批数据,超过1分钟,查询就会报错,报错图如下:

     

  • 相关阅读:
    idea的使用和安装破解 2019.2
    get请求和post请求的区别
    MySQL-事务
    MySQL-mysql的查询练习
    MySQL-mysql的多表查询
    CodeForces
    2018宁夏邀请赛网赛 I. Reversion Count(java练习题)
    HDU
    Codeforces Round #479 (Div. 3)解题报告
    nyoj 1274信道安全 第九届河南省赛(SPFA)
  • 原文地址:https://www.cnblogs.com/Qintai/p/14471047.html
Copyright © 2020-2023  润新知