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可能会带来一些额外的麻烦. 在 ...
最新文章
- 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令
- 一次写多个字节的方法 || 数据追加续写
- python链表的实现,有注释
- CentOS7学习笔记--PHP环境安装
- 设置控件输入的输入方式
- SpringBoot入门篇-简介
- MooTools 1.4 源码分析 - Fx
- javascript轮播图超详细
- 数据分析|爬取14455个基金,千万别被人当成韭菜给割了
- GPGPU数学基础教程
- 个人安卓学习笔记---搭建Androd开发环境
- 如何查询手机屏幕尺寸、密度,分辨率
- linux cpan 参数配置,CPAN 的使用
- Good Luck in CET-4 Everybody! HDU - 1847 (巴氏博弈)
- 想学大数据?先看完这几本书再说
- Windows Mobile 5.0 认知篇
- 〖Python自动化办公篇⑫〗- Excel 文件自动化 - 读取 excel 数据
- javascript中变量的内存分配,以及const VS let
- html 编辑器发帖,帖子编辑器:轻轻松松发帖
- 【三层架构】搜索模块
热门文章
- Satwe楼板能用弹性模计算吗_satwe模型转perform-3d实例.pdf
- python翻译器怎么下载_python翻译
- 「CTSC2017」吉夫特(Gift) (Lucas定理,状压DP)
- OV7670摄像采集图像在VGA上显示的分析和实现,精确到每个时钟,每行代码。
- Goby 漏洞更新 | 铭飞 CMS list 接口 sqlWhere 参数 sql 注入漏洞
- 计算机毕业设计springboot基于web的数码产品应用平台设计与实现
- 【文献阅读】将VQA视作元学习(Damien Teney等人,ECCV,2018)
- 佳博打印机出现“出错”
- navicat创建mysql用户_在 Navicat Premium 中管理 MySQL 用户-第 2 部分:创建新用户
- 检查是否需要挂起计算机重新启动。挂起重新启动会导致安装程序失败