ES批量查询_mget与IDs的区别
引言:
_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的区别相关推荐
- elasticsearch索引的初始化操作以及marvel操作(增删改查),批量查询_mget,批量操作_bulk
文中的简洁版都是使用marvel操作的 安装marvel插件的教程 https://blog.csdn.net/u013294097/article/details/100144725 1.创建索引之 ...
- elasticsearch 批量查询
批量查询 _mget批量查询允许获取一个index,type,或者id的操作 用以下例子来演示 PUT test/_doc/1 {"counter":2,"tags&qu ...
- 26、ES中使用mget批量查询api(学习笔记,来自课程资料 + 自己整理)
1.批量查询的好处 一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的,如果批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100 ...
- Elasticsearch(es) 查询语句语法详解
Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL.Elasticsearch 查询分类大致分为全文查询.词项查询.复合查 ...
- 批量查询,mget语法,mget批量查询(来自学习资料,第26节)
1.批量查询的好处 一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的 如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减1 ...
- 【elasticsearch】elasticsearch 批量查询之mget
文章目录 1.概述 1.1 批量查询的好处 1.2 使用mget进行查询操作 3.见解 4.bulk size的最佳大小 1.概述 转载:https://blog.csdn.net/qq_322529 ...
- ES常用查询操作学习总结(13种)
目录 1.id和ids id ids 2.match查询 查询所有 查看分词效果 1.将<浙江省>进行中文分词<浙江><浙江省><省>2.将分词结果逐一 ...
- elasticsearch版本不同,批量查询也不相同
网上搜到批量查询可以通过TransportClient实现,但官方推荐使用RestHighLevelClient实现 注意: We plan on deprecating the TransportC ...
- hibernate批量查询_使用Hibernate批量获取
hibernate批量查询 如果需要从Java处理大型数据库结果集,则可以选择JDBC,以提供所需的低级控制. 另一方面,如果您已在应用程序中使用ORM,则回退到JDBC可能会带来一些额外的麻烦. 在 ...
最新文章
- 《评人工智能如何走向新阶段》后记(再续2)
- vs生成解决方案出错
- 一行命令搞定AD数据库备份
- 企业网站外链发布有技巧
- python 变量引用_Python 知识要点:变量及引用
- 实现iOS App的在线安装
- 我们应该改变Linux的二十四件事
- 机器学习 python 随机抽样random sampling 代码
- 关于STM32xE系列芯片STOP模式下使用RTC唤醒所遇到的问题记录
- 解决PHPstudy(PHP工具箱)中host文件无法保存的问题
- python实现oa系统_利用Python实现某OA系统的自动定位功能
- Android 10去除电池图标以及设置
- 医生还未失业,IBM Watson 已跌入深渊
- 研究发现:“帽子”越多越高的教师,对研究生越没有用
- 第三十八章 短语动词
- Pyhon中利用GM(1,1)和ARIMA模型对卫星DCB值进行预测
- 浅谈技术管理者的角色认知与自我管理
- java什么时候会触发类加载_Java 类加载器classLoader | 七日打卡
- 华为云GPU服务器部署PaddleOCR中英文识别服务
- https下不加www的强制跳转