段
1.0 版引入
段 API 提供关于索引分片中 Lucene 段的详细信息,以及数据流的后端索引信息。
端点
GET /<index>/_segments
GET /_segments
路径参数
下表列出了可用的路径参数。所有路径参数均为可选。
参数 | 数据类型 | 描述 |
---|---|---|
<索引> | 字符串 | 一个逗号分隔的索引、数据流或索引别名列表,操作将应用于这些对象。支持通配符表达式 (* )。使用 _all 或 * 来指定集群中的所有索引和数据流。 |
查询参数
所有查询参数都是可选的。
参数 | 数据类型 | 描述 |
---|---|---|
allow_no_indices | 布尔型 | 是否忽略不匹配任何索引的通配符。默认值为 true 。 |
expand_wildcards | 字符串 | 指定通配符表达式可以匹配的索引类型。支持逗号分隔值。有效值为 all (匹配所有索引)、open (匹配开放的非隐藏索引)、closed (匹配关闭的非隐藏索引)、hidden (匹配隐藏索引) 和 none (拒绝通配符表达式)。默认值为 open 。 |
ignore_unavailable | 布尔型 | 当为 true 时,OpenSearch 会忽略缺失或已关闭的索引。如果为 false ,当强制合并操作遇到缺失或已关闭的索引时,OpenSearch 将返回错误。默认值为 false 。 |
verbose | 布尔型 | 当为 true 时,提供 Lucene 内存使用情况的信息。默认值为 false 。 |
示例请求
以下示例请求展示了如何使用段 API。
特定数据流或索引
GET /index1/_segments
多个数据流和索引
GET /index1,index2/_segments
集群中的所有数据流和索引
GET /_segments
示例响应
{
"_shards": ...
"indices": {
"test": {
"shards": {
"0": [
{
"routing": {
"state": "STARTED",
"primary": true,
"node": "zDC_RorJQCao9xf9pg3Fvw"
},
"num_committed_segments": 0,
"num_search_segments": 1,
"segments": {
"_0": {
"generation": 0,
"num_docs": 1,
"deleted_docs": 0,
"size_in_bytes": 3800,
"memory_in_bytes": 1410,
"committed": false,
"search": true,
"version": "7.0.0",
"compound": true,
"attributes": {
}
}
}
}
]
}
}
}
}
响应正文字段
参数 | 数据类型 | 描述 |
---|---|---|
<段> | 字符串 | 用于在分片目录中创建内部文件名的段名称。 |
generation | 整数 | 生成编号,例如 0 ,每个写入的段都会递增,并用于命名该段。 |
num_docs | 整数 | 从 Lucene 获取的文档数量。嵌套文档与其父文档分开计数。已删除的文档以及尚未分配到段的近期索引文档均被排除在外。 |
deleted_docs | 整数 | 从 Lucene 获取的已删除文档数量,可能与实际执行的删除操作数量不符。尚未分配到段的近期删除文档被排除在外。已删除文档在适当时候会自动合并。OpenSearch 会偶尔删除多余文档以跟踪最新的分片操作。 |
size_in_bytes | 整数 | 段使用的磁盘空间量,例如 50kb 。 |
memory_in_bytes | 整数 | 段数据量,以字节为单位,保存在内存中以方便高效的搜索操作,例如 1264 。值为 -1 表示 OpenSearch 无法计算此数字。 |
committed | 布尔型 | 当为 true 时,段会同步到磁盘。同步到磁盘的段可以在硬重启后幸存。如果为 false ,则未提交的段数据也会存储在事务日志中,以便在下次启动时可以重放更改。 |
search | 布尔型 | 当为 true 时,段搜索已启用。当为 false 时,段可能已写入磁盘,需要刷新才能进行搜索。 |
version | 字符串 | 用于写入段的 Lucene 版本。 |
compound | 布尔型 | 当为 true 时,表示 Lucene 已将所有段文件合并为一个文件,以节省文件描述。 |
attributes | 对象 | 显示是否启用了高压缩。 |