常见 REST 参数
1.0 版引入
OpenSearch 支持以下所有 REST 操作参数:
人类可读输出
要将输出单位转换为人类可读的值(例如,1h
表示 1 小时,1kb
表示 1,024 字节),请在请求 URL 中添加 ?human=true
。
请求示例
以下请求要求响应值采用人类可读格式
GET <index_name>/_search?human=true
美化结果
要获取可读格式的 JSON 响应,请在请求 URL 中添加 ?pretty=true
。
请求示例
以下请求要求响应以美化的 JSON 格式显示
GET <index_name>/_search?pretty=true
内容类型
要在请求正文中指定内容类型,请在请求头中使用 Content-Type
键名。大多数操作支持 JSON、YAML 和 CBOR 格式。
请求示例
以下请求为请求正文指定 JSON 格式
curl -H "Content-type: application/json" -XGET localhost:9200/_scripts/<template_name>
查询字符串中的请求正文
如果客户端库不接受非 POST 请求的请求正文,请使用 source
查询字符串参数传递请求正文。此外,请使用受支持的媒体类型(例如 application/json
)指定 source_content_type
参数。
请求示例
以下请求在 shakespeare
索引中搜索特定字段和值的文档
GET shakespeare/search?source={"query":{"exists":{"field":"speaker"}}}&source_content_type=application/json
堆栈跟踪
要在抛出异常时在响应中包含错误堆栈跟踪,请在请求 URL 中添加 error_trace=true
。
请求示例
以下请求将 error_trace
设置为 true
,以便响应返回由异常触发的错误
GET <index_name>/_search?error_trace=true
过滤响应
要减小响应大小,请使用 filter_path
参数过滤返回的字段。此参数接受逗号分隔的过滤器列表。它支持使用通配符匹配任何字段或字段名称的一部分。您也可以使用 -
排除字段。
请求示例
以下请求指定过滤器以限制响应中返回的字段
GET _search?filter_path=<field_name>.*,-<field_name>
单位
OpenSearch API 支持以下单位。
时间单位
下表列出了所有支持的时间单位。
单位 | 指定为 |
---|---|
天 | 天 (d) |
小时 | h |
分钟 | m |
秒 | s |
毫秒 | ms |
微秒 | micros |
纳秒 | nanos |
距离单位
下表列出了所有支持的距离单位。
单位 | 指定为 |
---|---|
英里 | mi 或 miles |
码 | yd 或 yards |
英尺 | ft 或 feet |
英寸 | in 或 inch |
千米 | km 或 kilometers |
米 | m 或 meters |
厘米 | cm 或 centimeters |
毫米 | mm 或 millimeters |
海里 | NM 、nmi 或 nauticalmiles |
X-Opaque-Id
头
您可以使用 X-Opaque-Id
头为任何请求指定一个不透明标识符。此标识符用于跟踪任务并消除服务器端日志中的弃用警告重复。此标识符用于区分向 OpenSearch 集群发送请求的调用者。请勿为每个请求指定唯一值。
请求示例
以下请求向请求添加一个不透明 ID
curl -H "X-Opaque-Id: my-curl-client-1" -XGET localhost:9200/_tasks