09.multi-get api操作

2024-08-31 15:58
文章标签 操作 api multi get 09

本文主要是介绍09.multi-get api操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1. 多个 GET API
    • 2. Source filtering
    • 3. Fields
    • 4. Routing

1. 多个 GET API

多 GET API 允许基于索引,类型(可选)和ID(也可能路由)获取多个文档。响应包括获取的 docs 列表,每个文件的结构都类似于 GET API 提供文件的结构。下面是一个例子:

GET /_mget
{"docs" : [{"_index" : "test","_type" : "_doc","_id" : "1"},{"_index" : "test","_type" : "_doc","_id" : "2"}]
}

mget也可以针对一个索引(在 body 体中不需要index名称):

GET /test/_mget
{"docs" : [{"_type" : "_doc","_id" : "1"},{"_type" : "_doc","_id" : "2"}]
}

类型如下:

GET /test/_doc/_mget
{"docs" : [{"_id" : "1"},{"_id" : "2"}]
}

在这种情况下,id 可以被用作发起简单的请求:

GET /test/_doc/_mget
{"ids" : ["1", "2"]
}

2. Source filtering

默认情况下,每个文档返回_source(如果储存)。类似于 GET API,你可以检索的只是部分 _source,使用 _source参数。您还可以使用URL参数 _source,_source_include及_source_exclude 来指定默认值。例如:


GET /_mget
{"docs" : [{"_index" : "test","_type" : "_doc","_id" : "1","_source" : false},{"_index" : "test","_type" : "_doc","_id" : "2","_source" : ["field3", "field4"]},{"_index" : "test","_type" : "_doc","_id" : "3","_source" : {"include": ["user"],"exclude": ["user.location"]}}]
}

3. Fields

通过每个文档来可以指定具体存储字段,类似于 Get API 中 stored_fields 参数。例如:

GET /_mget
{"docs" : [{"_index" : "test","_type" : "_doc","_id" : "1","stored_fields" : ["field1", "field2"]},{"_index" : "test","_type" : "_doc","_id" : "2","stored_fields" : ["field3", "field4"]}]
}

或者,可以指定 stored_fields作为默认值被应用到所有文件中来查询字符串参数。

GET /test/_doc/_mget?stored_fields=field1,field2
{"docs" : [{"_id" : "1" },{"_id" : "2","stored_fields" : ["field3", "field4"] }]
}

(1)返回 field1和 field2

(2)返回 field3和 field4

4. Routing

您也可以指定 routing 作为参数:

GET /_mget?routing=key1
{"docs" : [{"_index" : "test","_type" : "_doc","_id" : "1","routing" : "key2"},{"_index" : "test","_type" : "_doc","_id" : "2"}]
}

在这个例子中,doc id 为2的doc 会从 routing = key1 的分片中获取。但文件 doc id 1的doc 将被从对应于 routing = key1 的分片中获取。

这篇关于09.multi-get api操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124348

相关文章

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

python通过curl实现访问deepseek的API

《python通过curl实现访问deepseek的API》这篇文章主要为大家详细介绍了python如何通过curl实现访问deepseek的API,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... API申请和充值下面是deepeek的API网站https://platform.deepsee

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

一文详解如何在Vue3中封装API请求

《一文详解如何在Vue3中封装API请求》在现代前端开发中,API请求是不可避免的一部分,尤其是与后端交互时,下面我们来看看如何在Vue3项目中封装API请求,让你在实现功能时更加高效吧... 目录为什么要封装API请求1. vue 3项目结构2. 安装axIOS3. 创建API封装模块4. 封装API请求

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格