compact()
此操作触发手动 Compaction,合并 Collection 中的小 Segment,并返回 Compaction 作业 ID。
请求语法
python
compact(
collection_name: str,
is_clustering: Optional[bool] = False,
is_l0: Optional[bool] = False,
target_size: Optional[int] = None,
target_size_unit: str = "mb",
timeout: Optional[float] = None,
**kwargs,
) -> int
参数:
-
collection_name (str) -
[必填]
需要执行 Compaction 的 Collection 名称。 -
is_clustering (Optional[bool]) -
默认值:False
用于指定是否执行聚类 Compaction 的标志。 -
is_l0 (Optional[bool]) -
默认值:False
用于指定是否执行 Level-0 Compaction 的标志。 -
target_size (Optional[int]) -
默认值:None
Compaction 后的目标 Segment 大小。该值必须为正整数;若省略,则使用服务器默认值。 -
target_size_unit (str) -
默认值:"mb"
target_size的单位。支持的值包括b、kb、mb、gb、tb和pb;默认值为mb。 -
timeout (Optional[float]) -
默认值:None
RPC 的最大等待时间(秒)。若省略,客户端将一直等待,直到服务器响应或发生错误。 -
kwargs (Any) -
额外的请求上下文选项。
返回类型:
int
返回值:
由 Milvus 返回的 Compaction 作业标识符。
异常:
- MilvusException
当服务器拒绝请求或 RPC 失败时抛出。请查看服务器错误消息以获取具体的失败详情。
示例
演示 compact 的用法。
python
from pymilvus import MilvusClient
client = MilvusClient(uri="YOUR_CLUSTER_ENDPOINT")
job_id = client.compact(collection_name="book_chunks", target_size=512, target_size_unit="mb")
print(job_id)