引言:

_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. 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令
  2. 一次写多个字节的方法 || 数据追加续写
  3. python链表的实现,有注释
  4. CentOS7学习笔记--PHP环境安装
  5. 设置控件输入的输入方式
  6. SpringBoot入门篇-简介
  7. MooTools 1.4 源码分析 - Fx
  8. javascript轮播图超详细
  9. 数据分析|爬取14455个基金,千万别被人当成韭菜给割了
  10. GPGPU数学基础教程
  11. 个人安卓学习笔记---搭建Androd开发环境
  12. 如何查询手机屏幕尺寸、密度,分辨率
  13. linux cpan 参数配置,CPAN 的使用
  14. Good Luck in CET-4 Everybody! HDU - 1847 (巴氏博弈)
  15. 想学大数据?先看完这几本书再说
  16. Windows Mobile 5.0 认知篇
  17. 〖Python自动化办公篇⑫〗- Excel 文件自动化 - 读取 excel 数据
  18. javascript中变量的内存分配,以及const VS let
  19. html 编辑器发帖,帖子编辑器:轻轻松松发帖
  20. 【三层架构】搜索模块

热门文章

  1. Satwe楼板能用弹性模计算吗_satwe模型转perform-3d实例.pdf
  2. python翻译器怎么下载_python翻译
  3. 「CTSC2017」吉夫特(Gift) (Lucas定理,状压DP)
  4. OV7670摄像采集图像在VGA上显示的分析和实现,精确到每个时钟,每行代码。
  5. Goby 漏洞更新 | 铭飞 CMS list 接口 sqlWhere 参数 sql 注入漏洞
  6. 计算机毕业设计springboot基于web的数码产品应用平台设计与实现
  7. 【文献阅读】将VQA视作元学习(Damien Teney等人,ECCV,2018)
  8. 佳博打印机出现“出错”
  9. navicat创建mysql用户_在 Navicat Premium 中管理 MySQL 用户-第 2 部分:创建新用户
  10. 检查是否需要挂起计算机重新启动。挂起重新启动会导致安装程序失败