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

searchIterator()

この操作は scalar filtering query を反復的に実行し、結果をバッチで返します。大規模な結果セットを段階的に処理する必要がある場合や、結果総数が単一の query() 呼び出しで返せる件数を超える場合は、単一の query() 呼び出しの代わりにこれを使用します。

javascript
await milvusClient.queryIterator(data: QueryIteratorReq)

Request Syntax​

javascript
await milvusClient.queryIterator({
collection_name: string,
batchSize: number,
filter?: string,
limit?: number,
output_fields?: string[],
partition_names?: string[],
consistency_level?: ConsistencyLevelEnum,
db_name?: string,
timeout?: number,
})

PARAMETERS:

  • collection_name (string) -

    [REQUIRED]

    既存の collection の名前です。

  • batchSize (number) -

    [REQUIRED]

    1 回の反復ごとに返される entity の数です。16,384 を超えることはできません。

  • filter (string) -

    一致する entity を絞り込むための scalar filtering 条件です。すべての entity を返すには空文字列を設定します。scalar filtering 条件の構築方法については、Boolean Expression Rules を参照してください。

  • limit (number) -

    すべての反復を通じて返される entity の合計最大数です。デフォルトは一致する entity の総数です(制限なし)。

  • output_fields (string[]) -

    各返却 entity に含めるフィールド名のリストです。デフォルトではすべてのフィールドが返されます。

  • partition_names (string[]) -

    クエリ対象の partition の名前です。

  • consistency_level (ConsistencyLevelEnum) -

    この操作の整合性レベルです。オプション: Strong (0)、Bounded (1)、Session (2)、Eventually (3)。デフォルトでは、collection 作成時に設定された整合性レベルが使用されます。

  • db_name (string) -

    collection を含むデータベースの名前です。

  • timeout (number) -

    この操作のタイムアウト時間(ミリ秒)です。

  • order_by_fields (OrderByFields) -

    検索結果を並べ替えるフィールドです。任意です。

RETURNS:

Promise<AsyncIterable<object[]>>

非同期 iterable を返します。各反復では、そのバッチに対応する entity の配列が返されます。総結果数が limit に達するか、一致するすべての entity を使い切ると反復は終了します。

EXCEPTIONS:

  • MilvusError

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

Example​

javascript
import { MilvusClient } from '@zilliz/milvus2-sdk-node';

const milvusClient = new MilvusClient({
address: 'YOUR_CLUSTER_ENDPOINT',
token: 'YOUR_CLUSTER_TOKEN',
});

const iterator = await milvusClient.queryIterator({
collection_name: 'my_collection',
filter: 'age > 30',
batchSize: 100,
limit: 500,
output_fields: ['id', 'age', 'text'],
});

for await (const batch of iterator) {
console.log(`Batch of ${batch.length} entities:`, batch);
}