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

相关文章

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.