メインコンテンツまでスキップ

flush()

この操作は、コレクション内のすべてのセグメントをシールします。この操作以降の挿入は、新しいセグメントを生成します。

リクエスト構文​

python
flush(
timeout: float | None
)
Note

データを挿入するたびに flush() を呼び出すことはできますか?

新しいデータが挿入されると、そのデータは growing segment に書き込まれます。growing segment のサイズが上限に達すると、Zilliz Cloud は自動的にそのセグメントをシールします。

この操作を継続的に呼び出すと、サイズの小さいシール済みセグメントが多数生成され、検索パフォーマンスが徐々に低下する可能性があります。

検索を実行する前に、Zilliz Cloud がすべてのセグメントをシールするのを待つことを推奨します。

パラメーター:

  • パラメーター:

  • timeout (float | None)

    この操作のタイムアウト時間です。これを None に設定すると、何らかのレスポンスが到着するか、何らかのエラーが発生した時点で、この操作はタイムアウトします。

戻り値の型:

NoneType

戻り値:

None

例外:

  • MilvusException

    この例外は、この操作中に何らかのエラーが発生した場合に送出されます。

例​

python
from pymilvus import Collection, CollectionSchema, FieldSchema, DataType

schema = CollectionSchema([
FieldSchema("id", DataType.INT64, is_primary=True),
FieldSchema("vector", DataType.FLOAT_VECTOR, dim=5)
])

# Create a collection
collection = Collection(
name="test_collection",
schema=schema
)

# Insert some data
collection.insert(
data=[
[0,1,2,3,4], # id
[ # vector
[0.1,0.2,-0.3,-0.4,0.5],
[0.3,-0.1,-0.2,-0.6,0.7],
[-0.6,-0.3,0.2,0.8,0.7],
[0.6,0.2,-0.3,-0.8,0.5],
[0.3,0.1,-0.2,-0.6,-0.7],
],
]
)

# Flush the data
collection.flush()

# Check the number of flushed entities in the collection
collection.num_entities # 5

以下の操作は flush() に関連しています。