コンテンツにスキップ

レガシー Vectorize インデックスの移行

レガシー Vectorize (V1) インデックスは、2024年8月15日をもって非推奨の道を歩んでいます。あなたの Vectorize インデックスがレガシーインデックスである可能性があるのは、以下のいずれかの基準を満たす場合です。

  1. v3.71.0 よりも低い Wrangler バージョンで作成された。
  2. “—deprecated-v1” フラグが有効な状態で作成された。
  3. レガシー REST API を使用して作成された。

この文書では、レガシー Vectorize インデックスから移行するために必要な手順の詳細を提供します。

なぜ移行する必要があるのか?

レガシー Vectorize (V1) インデックスは非推奨の道を歩んでいます。これらのインデックスのサポートは限られ、プロダクションワークロードでの使用は推奨されません。

さらに、新しい Vectorize (V2) インデックスは、数百万のベクトルを処理できる大規模な運用が可能で、パフォーマンスも向上しています。最新の Vectorize の機能を理解するために、制限 ページを確認してください。

注目すべき変更点

数百万のベクトルを持つ大規模なインデックスをサポートし、パフォーマンスが向上することに加えて、レガシー Vectorize インデックスから移行する際に考慮すべき変更点は以下の通りです。

  1. 新しい Vectorize (V2) インデックスは、非同期の変更をサポートしています。ベクトルの挿入や削除、メタデータインデックスの作成や削除は、反映されるまでに数秒かかる場合があります。

  2. Vectorize (V2) は、はるかに大きなインデックスに対してメタデータおよび名前空間フィルタリングをサポートし、遅延が大幅に低下しています。ただし、メタデータフィルタリングを適用できるフィールドは、ベクトルが挿入される前に指定する必要があります。詳細については、メタデータインデックスの作成 ページを参照してください。

  3. Vectorize (V2) クエリ操作 は、最も類似した最大100のベクトルを検索して返す機能をサポートしています。

  4. Vectorize (V2) のクエリ操作は、ベクトルとともにメタデータをクエリするためのより詳細な制御を提供します。詳細については、クエリ操作 ページを参照してください。

  5. Vectorize (V2) は、Wrangler (Wrangler バージョン > v3.71.0) を介して利用可能な Vectorize 機能を拡張します。

移行

  1. Wrangler は、デフォルトで新しいバージョンの Vectorize (V2) インデックスに対する操作をサポートしています。レガシー (V1) インデックスに対して Wangler コマンドを使用するには、--deprecated-v1 フラグを有効にする必要があります。このフラグは、インデックスの作成、取得、リスト、削除、およびベクトルの挿入にのみサポートされています。

  2. 新しい Vectorize (V2) インデックスのルートとペイロードタイプの詳細については、REST API ページを参照してください。レガシー (V1) インデックス操作については、非推奨の REST API を参照してください。

  3. Workers で新しいバージョンの Vectorize インデックスを使用するには、環境バインディングを Vectorize インターフェースとして定義する必要があります。

    export interface Env {
    // これにより、env.VECTORIZE.* でベクトルインデックスメソッドが利用可能になります
    // 例えば、env.VECTORIZE.insert() または query()
    VECTORIZE: Vectorize;
    }

    Vectorize インターフェースには、型の変更と新しい Vectorize (V2) インデックスがサポートする機能が含まれています。

    レガシー Vectorize (V1) インデックスには、VectorizeIndex インターフェースを使用します。

    export interface Env {
    // これにより、env.VECTORIZE.* でベクトルインデックスメソッドが利用可能になります
    // 例えば、env.VECTORIZE.insert() または query()
    VECTORIZE: VectorizeIndex;
    }
  4. 新しい Vectorize (V2) バージョンでは、クエリ操作returnMetadata オプションは、allindexed、または none の文字列値のいずれかを期待します。レガシー Vectorize (V1) では、returnMetadata オプションはブール型のフィールドでした。

  5. 新しい Vectorize (V2) インデックスでは、すべてのインデックスおよびベクトルの変更は非同期であり、その変更操作の一意の識別子としてレスポンスに mutationId が返されます。

    これらの変更操作は、ベクトルの挿入ベクトルのアップサートベクトルの削除メタデータインデックスの作成メタデータインデックスの削除 です。

    最後に処理された変更の識別子とタイムスタンプを確認するには、Vectorize Info コマンド を使用してください。