list_segments()
此操作会列出 Collection 中仍保留在请求的生命周期状态下的 Segment。
请求语法
list_segments(
collection_name: str,
states: Optional[Sequence[SegmentState]] = None,
timeout: Optional[float] = None,
**kwargs
) -> List[SegmentInfo]
参数:
-
collection_name (str) -
目标 Collection 的名称。
-
states (Sequence[SegmentState] | None) -
该值默认为
None。用于筛选的生命周期状态,例如包含 SegmentState.Sealed 的列表。省略时,将返回所有保留的状态。
-
timeout (float | None) -
该值默认为
None。此操作的超时时间,单位为秒。
返回类型:
list[SegmentInfo]
返回:
一个 SegmentInfo 对象列表,用于描述保留的 Segment,包括每个 Segment 的标识符和生命周期状态。
参数:
-
segment_id (int) -
Segment 的 ID。
-
collection_id (int) -
Segment 所属 Collection 的 ID。
-
collection_name (str) -
Segment 所属 Collection 的名称。
-
num_rows (int) -
Segment 中的行数。
-
is_sorted (bool) -
指示 Segment 中的数据是否已排序的标志。
-
state (SegmentState) -
Segment 的生命周期状态。
-
level (SegmentLevel) -
Segment 的存储级别。
-
storage_version (int) -
Segment 的存储版本。
-
partition_id (int) -
Segment 所属 Partition 的 ID。在 PyMilvus v3.0.2 或更高版本中可用。
-
insert_channel (str) -
Segment 数据写入的插入通道。在 PyMilvus v3.0.2 或更高版本中可用。
-
compaction_from (list[int]) -
此 Segment 经 Compaction 生成时来源的 Segment 的 ID。在 PyMilvus v3.0.2 或更高版本中可用。
异常:
-
MilvusException
当服务器拒绝请求或 RPC 失败时抛出。请检查服务器错误消息以获取确切的失败原因。
示例
from pymilvus import MilvusClient, SegmentState
client = MilvusClient(uri="YOUR_CLUSTER_ENDPOINT")
segments = client.list_segments(
collection_name="docs",
states=[SegmentState.Sealed],
)
for s in segments:
print(
s.segment_id,
s.state,
)