es滚动查询分析和使用步骤示例详解

2024-03-01 0 654
目录
  • 滚动查询的一般步骤
    • 1、发起初始搜索请求,返回命中结果和滚动ID
    • 2、使用滚动查询下一页的结果:
    • 3、重复执行直到没有检索结果返回
    • 4、清除滚动上下文释放资源

ES在进行普通的查询时,默认只会查询出来10条数据。我们通过设置es中的size可以将最终的查询结果从10增加到10000。如果需要查询数据量大于es的翻页限制或者需要将es的数据进行导出又当如何?Elasticsearch提供了一种称为"滚动查询"(Scrolling)的机制,用于处理大型数据集的分页查询。滚动查询允许在持续的时间段内保持一个活动的搜索上下文,然后使用滚动ID进行迭代检索结果。滚动查询和关系型数据库中的游标有点类似,因此也叫游标查询。

滚动查询的一般步骤

1、发起初始搜索请求,返回命中结果和滚动ID

scroll=5m表示每个滚动查询的有效时间为5分钟

下面例子:

POST /your_index/_search?scroll=5m
{
\”size\”: 100, // 每次返回的结果数量
\”query\”: { … } // 查询条件
}

命中结果:

{ "_scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==", "hits": { "total": { "value": 10000, "relation": "eq" }, "hits": [ … ] // 检索到的文档 }}

示例:

es滚动查询分析和使用步骤示例详解

2、使用滚动查询下一页的结果:

例子:

POST /_search/scroll
{
\”scroll\”: \”5m\”,
\”scroll_id\”: \”DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==\”
}

命中结果:

es滚动查询分析和使用步骤示例详解

3、重复执行直到没有检索结果返回

Elasticsearch将返回下一页结果。可以根据需要重复这个步骤,直到没有更多结果为止,即无数据返回为止。

4、清除滚动上下文释放资源

滚动查询结束后,可以通过发送一个清除滚动上下文的请求来释放资源:

DELETE /_search/scroll
{
\”scroll_id\”: [
\”DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==\”
]
}

到此这篇关于es滚动查询分析和使用步骤的文章就介绍到这了,更多相关es滚动查询内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • Java使用ES Client 调用滚动查询及Elasticsearch滚动查询Scrolling机制
  • ES结合java代码聚合查询详细示例
  • 在es中查询null值的操作方法
  • JavaES(Elasticsearch)中的and和or查询

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 编程技巧 es滚动查询分析和使用步骤示例详解 https://www.u-9.cn/biancheng/jiqiao/180813.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务