Elasticsearch:Async search API

这篇具有很好参考价值的文章主要介绍了Elasticsearch:Async search API。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当我们想要执行持续时间较长的查询时,执行异步操作是一个很好的选择。 在这篇文章中,我们将学习如何管理异步查询。异步操作由 async search API 执行。 异步搜索 API 具有与 _search API 相同的参数,因此你无需构建特殊查询。

在我之前的文章 “Elasticsearch:异步搜索 - async search” 对异步请求有一个描述。我再之前的文章 “Elasticsearch: Python 客户端现在支持异步 I/O” 也对这个 API 在 Python 中的使用进行了描述。在今天的文章中,我们在 Kibana 中来模拟这个请求。

在今天的展示中,我将使用 Elastic Stack 8.6.0 来进行展示。

准备数据

我们使用 Kibana 中自带的数据:

Elasticsearch:Async search API

Elasticsearch:Async search API

Elasticsearch:Async search API  Elasticsearch:Async search API

这样我们就在 Elasticsearch 中创建了一个叫做 kibana_sample_data_logs 的索引。

异步查询

要运行异步查询,你需要使用 _async_search API 运行它。 让我们运行以下示例:

POST kibana_sample_data_logs/_async_search
{
  "query": {
    "match_all": {}
  }
}

上述命令返回的结果为:

Elasticsearch:Async search API

答案与我们习惯在 _search API 中看到的不同。 现在我们有了属于异步搜索 API 的字段。 我将对 is_running 字段进行注释,它表示查询执行状态,结果表明查询已被执行。

我的数据库中的数据很少,因此为了使这个示例更有趣,我将添加参数 wait_for_completion_timeout=0ms。 这表示查询将等待 0 毫秒的响应,因为搜索所花的时间总会大于 0 毫秒,设置为 0 毫秒让我们看看 async_search 是如何工作的。

POST kibana_sample_data_logs/_async_search?wait_for_completion_timeout=0ms

Elasticsearch:Async search API

请注意,is_running 为 true,表示查询尚未返回结果,现在我们有了 id 字段。 这个 id 字段允许你检索查询结果并跟踪状态。 

让我们看看查询的状态:

GET _async_search/status/FjBVQV9GTkMxVG9pZWNnYmhaZTVpZXcddFpMeTgyS1JUYWlDZHBzYmtFWW51QTo3OTgzOTA=

上面命令显示的结果为:

Elasticsearch:Async search API

状态结果表明查询已执行,我们可以检索结果。

要获得结果,只需运行传递 id 的查询。

GET _async_search/FjBVQV9GTkMxVG9pZWNnYmhaZTVpZXcddFpMeTgyS1JUYWlDZHBzYmtFWW51QTo3OTgzOTA=

Elasticsearch:Async search API

这是异步搜索 API 的一个应用程序。 我希望它有用!文章来源地址https://www.toymoban.com/news/detail-404356.html

到了这里,关于Elasticsearch:Async search API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch Search API之(Request Body Search 查询主体)(1)

    “failed”:0 }, “hits”:{ “total”:1, “max_score”:0.2876821, “hits”:[ { “_index”:“map_highlighting_01”, “_type”:“_doc”, “_id”:“erYsbmcBeEynCj5VqVTI”, “_score”:0.2876821, “_source”:{ “context”:“城中西路可以受理外地二代身份证的办理。” }, “highlight”:{ // @1 “context”:[ “城中西

    2024年04月13日
    浏览(40)
  • react当我们有两个完全不相关的组件想要通信时,就可以利用这种模式,其中一个组件负责订阅某个消息,而另一个元素则负责发送这个消息。使用Context配合

    在nextjs项目中,发现两个组件没啥关系,例如一个是一直存在的头部组件,另一个是页面中的组件,当我点击头部组件中的特定按钮时,把数据传递到页面组件中,页面组件接受到canshu数据后在做其他操作,那么他们两个如何通讯,通过context配合观察者模式实现。 首先在其

    2024年02月15日
    浏览(42)
  • Elasticsearch Search Scroll API(滚动查询)

    参考:Elasticsearch Search Scroll API(滚动查询) - 简书 Elasticsearch 中,传统的分页查询使用 from+size 的模式, from 就是页码,从 0 开始。默认情况下,当 (from+1)*size 大于 10000 时,也就是已查询的总数据量大于 10000 时,会出现异常。 如下,用循环模拟一个连续分页查询: 最终当

    2023年04月20日
    浏览(35)
  • Elasticsearch/Enterprise Search/Kibana安装记录

    参考文章:https://www.elastic.co/guide/en/elasticsearch/reference/8.8/deb.html 服务器系统:Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-153-generic x86_64) elasticsearch版本:8.8.2(软件包发行版) 导入 elasticsearch PGP密钥 我们使用 Elasticsearch 签名密钥(PGP 密钥D88E42B4,可从https://pgp.mit.edu获取)和指纹对所有包进行签

    2024年02月16日
    浏览(32)
  • vue async await promise 等待异步接口执行完毕再进行下一步操作

    需求:上传多个文件,每上传一个文件异步请求一下后台接口,并返回一个新文件名,等把所有的异步接口执行成功后,将上传已成功后新文件名数组得到再去更新业务数据 uni-file-picker 文件上传组件的配置 选择文件后,上传到服务器后端,一个一个的传,等异步执行完一下

    2024年02月12日
    浏览(38)
  • Elasticsearch:语义搜索 - Semantic Search in python

    当 OpenAI 于 2022 年 11 月发布 ChatGPT 时,引发了人们对人工智能和机器学习的新一波兴趣。 尽管必要的技术创新已经出现了近十年,而且基本原理的历史甚至更早,但这种巨大的转变引发了各种发展的“寒武纪大爆炸”,特别是在大型语言模型和生成 transfors 领域。 一些怀疑论

    2024年02月14日
    浏览(48)
  • ElasticSearch中analyzer和search_analyzer

    基于elasticsearch7.6.1 和 kibana7.6.1 1. 基础介绍 analyzer:插入文档时,将text类型的字段做分词然后插入倒排索引。 search_analyzer:查询时,先对要查询的text类型的输入做分词,再去倒排索引中搜索。 如果想要让\\\'索引\\\'和\\\'查询\\\'时使用不同的分词器,ElasticSearch也是能支持的,只需要

    2024年02月04日
    浏览(41)
  • Elasticsearch:Search tutorial - 使用 Python 进行搜索 (三)

    这个是继上一篇文章 “Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (二)” 的续篇。在今天的文章中,本节将向你介绍一种不同的搜索方式,利用机器学习 (ML) 技术来解释含义和上下文。 在机器学习中,嵌入是表示现实世界对象(例如单词、句子、图像或视频)的向量

    2024年02月02日
    浏览(32)
  • Elasticsearch:Search tutorial - 使用 Python 进行搜索 (二)

    这个是继上一篇文章 “Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (一)” 的续篇。在今天的文章中,我们接着来完成如何进行分页及过滤。 应用程序处理大量结果通常是不切实际的。 因此,API 和 Web 服务使用分页控件来允许应用程序请求小块或页面的结果。 你可能已

    2024年02月01日
    浏览(28)
  • Elasticsearch使用msearch提高聚合效率(与search检索对比)

    数据量共约3000万+,在使用es进行term聚合的时候,发现执行耗费时间巨大,因此采用了msearch的检索方式 多搜索接口编辑 多搜索 API 从单个 API 请求执行多个搜索。 请求的格式类似于批量 API 格式,并使用 换行符分隔的 JSON (NDJSON) 格式。 结构类型于下 使用kibana进行msearch操

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包