引言:

_mget 和IDs都可以查询出多个文档来,那么作为研发人员,我们在选择的时候,该如何选择呢?

_mget

1、DSL语法:

curl -X GET "localhost:9200/_mget?pretty" -H 'Content-Type: application/json' -d'
{"docs": [{"_index": "my-index-000001","_id": "1"},{"_index": "my-index-000001","_id": "2"}]
}
'

2、Java代码:

    public void multiGet() {MultiGetRequestBuilder multiGetRequestBuilder = esClient.prepareMultiGet();multiGetRequestBuilder.add("content_20220625", "textcontent", "20220625214273969493540903");multiGetRequestBuilder.add("content_20220625", "textcontent", "20220625214274199836327999");MultiGetResponse multiGetItemResponses = multiGetRequestBuilder.get();for (MultiGetItemResponse itemResponse : multiGetItemResponses) {GetResponse response = itemResponse.getResponse();if (response.isExists()) {String json = response.getSourceAsString();System.out.println(json);}}}

IDs Query

1、DSL语法:

curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d'
{"query": {"ids" : {"values" : ["1", "4", "100"]}}
}
'

2、Java代码:

public void searchBySequenceId(String[] sequenceIds) {IdsQueryBuilder idsQueryBuilder = QueryBuilders.idsQuery().addIds(sequenceIds);SearchResponse response = esClient.prepareSearch("").setQuery(idsQueryBuilder).get();if (response.getHits().getTotalHits() > 0) {            for (SearchHit searchHit : response.getHits()) {System.out.println(searchHit.getSourceAsString()}}
}

区别:

1、主要的区别在于是否要立即查询出刚刚插入的数据,mget可以在数据插入到ES之后还没有被索引就能查询出来,而IDs Query却不行。

ES批量查询_mget与IDs的区别相关推荐

  1. elasticsearch索引的初始化操作以及marvel操作(增删改查),批量查询_mget,批量操作_bulk

    文中的简洁版都是使用marvel操作的 安装marvel插件的教程 https://blog.csdn.net/u013294097/article/details/100144725 1.创建索引之 ...

  2. elasticsearch 批量查询

    批量查询 _mget批量查询允许获取一个index,type,或者id的操作 用以下例子来演示 PUT test/_doc/1 {"counter":2,"tags&qu ...

  3. 26、ES中使用mget批量查询api(学习笔记,来自课程资料 + 自己整理)

    1.批量查询的好处 一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的,如果批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100 ...

  4. Elasticsearch(es) 查询语句语法详解

    Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL.Elasticsearch 查询分类大致分为全文查询.词项查询.复合查 ...

  5. 批量查询,mget语法,mget批量查询(来自学习资料,第26节)

    1.批量查询的好处 一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的 如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减1 ...

  6. 【elasticsearch】elasticsearch 批量查询之mget

    文章目录 1.概述 1.1 批量查询的好处 1.2 使用mget进行查询操作 3.见解 4.bulk size的最佳大小 1.概述 转载:https://blog.csdn.net/qq_322529 ...

  7. ES常用查询操作学习总结(13种)

    目录 1.id和ids id ids 2.match查询 查询所有 查看分词效果 1.将<浙江省>进行中文分词<浙江><浙江省><省>2.将分词结果逐一 ...

  8. elasticsearch版本不同,批量查询也不相同

    网上搜到批量查询可以通过TransportClient实现,但官方推荐使用RestHighLevelClient实现 注意: We plan on deprecating the TransportC ...

  9. hibernate批量查询_使用Hibernate批量获取

    hibernate批量查询 如果需要从Java处理大型数据库结果集,则可以选择JDBC,以提供所需的低级控制. 另一方面,如果您已在应用程序中使用ORM,则回退到JDBC可能会带来一些额外的麻烦. 在 ...

最新文章

  1. 《评人工智能如何走向新阶段》后记(再续2)
  2. vs生成解决方案出错
  3. 一行命令搞定AD数据库备份
  4. 企业网站外链发布有技巧
  5. python 变量引用_Python 知识要点:变量及引用
  6. 实现iOS App的在线安装
  7. 我们应该改变Linux的二十四件事
  8. 机器学习 python 随机抽样random sampling 代码
  9. 关于STM32xE系列芯片STOP模式下使用RTC唤醒所遇到的问题记录
  10. 解决PHPstudy(PHP工具箱)中host文件无法保存的问题
  11. python实现oa系统_利用Python实现某OA系统的自动定位功能
  12. Android 10去除电池图标以及设置
  13. 医生还未失业,IBM Watson 已跌入深渊
  14. 研究发现:“帽子”越多越高的教师,对研究生越没有用
  15. 第三十八章 短语动词
  16. Pyhon中利用GM(1,1)和ARIMA模型对卫星DCB值进行预测
  17. 浅谈技术管理者的角色认知与自我管理
  18. java什么时候会触发类加载_Java 类加载器classLoader | 七日打卡
  19. 华为云GPU服务器部署PaddleOCR中英文识别服务
  20. https下不加www的强制跳转

热门文章

  1. 使用threejs实现地球辉光和大气层效果
  2. 7-3 最佳情侣身高差 (10分)
  3. L1-040 最 佳情侣身高差
  4. 数据类型、字节、标识符的详细笔记
  5. Unix命令运行tomcat
  6. 5.继承相关的小知识
  7. 腾讯听听智能音箱使用体验_第一篇
  8. pd.fjs分片下载的介绍2:分片下载demo
  9. 塞尔达传说王国之泪 pc 电脑版下载安装详细教程
  10. 三大互联网中心:北京、上海、深圳,你 Pick 哪个?