Alibaba Cloud Elasticsearch AI Engine Edition は、検索拡張生成 (RAG)、AI コーディング、エージェントメモリ、マルチテナント検索向けのクラウドネイティブ検索エンジンです。このエディションでは、Collection を統一アクセスポイントとして公開し、ナレッジベース、コードリポジトリ、エージェント、テナントなどのビジネススペースを Collection 内の Slice として整理します。
AI エンジンエディションは、8 月 30 日までホワイトリストに登録されたユーザーのみが利用できます。サポートされているリージョン、ゾーン、インスタンスの仕様、課金方法、および有効化プロシージャは、Alibaba Cloud 公式サイト、コンソール、および公式リリースアナウンスで現在利用可能なオプションに従います。
必要性
RAG、AI コーディング、エージェントメモリ、マルチテナント検索アプリケーションでは、通常、単一の検索システム内に多数の独立したナレッジベース、コードリポジトリ、メモリスペース、またはテナントデータスペースをホストします。これらのワークロードには、以下の 3 つの共通課題があります。
多数のビジネススペースの共存 — 各スペース間でアクセスパターンが大きく異なります。一部のスペースは継続的にアクティブである一方、他のスペースは長期間アイドル状態になることもあります。スペースごとに個別のインデックスを維持すると、スペース数が増えるにつれて管理や容量計画が複雑になります。
ホット/コールド分布の不均一性 — アクセス頻度の低い多くのスペースが長期間にわたりコンピュートとストレージを占有する一方、アクティブなスペースでは安定した低遅延応答が必要です。従来のアーキテクチャでは、このような分布においてコストとパフォーマンスのバランスを取ることが困難です。
読み取り/書き込みピークの非同期性 — データ取り込みとクエリそれぞれに独自のピークとバレーがあります。書き込み、インデックス構築、クエリが同一ノード上で共有されると、書き込みの急増が直接クエリ遅延に影響します。
これらの特性に対処するため、AI Engine Edition では永続ストレージ、書き込み用コンピュート、クエリ用コンピュートを分離しています。インデックスデータと永続状態はオブジェクトストレージに一元的に保存されます。インデックスノードが書き込みとインデックス構築を担当し、検索ノードがクエリを処理します。ユーザーは、書き込み量とクエリ量に基づいてリソースを個別に設定できます。アクティブなデータはローカルキャッシュによって高速化され、非アクティブなデータは必要に応じてオンデマンドでロードされます。
コンソールの購入ページおよびインスタンス一覧では、上記の 2 種類のノードは Index Nodes および Query Nodes として表示されており、本ドキュメントにおける「インデックスノード」と「検索ノード」に対応します。
主要機能とユースケース
独立スケーリングによる読み取り/書き込み分離
書き込みとクエリは異なるノードロールを使用します。インデックスノードは取り込み量に基づいて設定し、検索ノードはクエリの同時実行数に基づいて設定します。いずれかのワークロードが増加した場合、対応するリソースのみを調整すればよく、書き込み、インデックスマージ、クエリが同一コンピュートリソースを競合することはありません。書き込みの急増がクエリ遅延に影響せず、クエリ負荷が取り込み速度を低下させることもありません。
自動ホット/コールド階層化によるオンデマンドキャッシング
完全なインデックスデータはオブジェクトストレージに保存されます。検索ノードのローカルディスクはクエリキャッシュとして機能します。頻繁にアクセスされるデータはキャッシュから継続的に提供され、ミリ秒単位でホットクエリに応答します。一方、アクセス頻度の低いデータは必要に応じてオブジェクトストレージからロードされます。ローカルキャッシュのサイズはアクティブな作業セットに基づいて設定され、総データ量と一致させる必要はありません。非アクティブなビジネススペースはコンピュートリソースやキャッシュリソースを消費せず、そのコストはオブジェクトストレージの従量課金料金に限定されます。
キャッシュの効果は、ワークロードのホット/コールド分布、キャッシュ容量、ノードスペック、およびクエリの同時実行数に依存します。アクセスパターンが高度に分散している、または頻繁に変化するワークロードについては、実際のデータを用いた容量評価および性能テストを実施してください。
統一管理による大規模ビジネススペース
アプリケーションは、ナレッジベース、コードリポジトリ、エージェント、またはテナントを Slice として扱い、同一の Collection を介して読み取りおよび書き込みを行えます。プラットフォームは容量に基づいて基盤となるインデックスおよびシャードを管理します。アプリケーション側でビジネススペースごとに個別のインデックスを作成したり、アプリケーションコード内で基盤となるインデックス名やテーブル構造を追跡したりする必要はありません。
クエリ実行時には、1 つの Slice、複数の Slice、または明示的にすべての Slice を選択できます。デフォルトでは、アプリケーションがクエリ範囲を指定する必要があります。これにより、ルーティング情報が欠落している場合に意図せず Collection 全体をスキャンするリスクを軽減できます。
データ移行不要の障害復旧
インデックスデータ、ライトアヘッドログ、クラスター状態はオブジェクトストレージに保存されます。コンピュートノードはローカルに永続状態を保持しません。ノード障害発生後、プラットフォームはオブジェクトストレージから操作を再開し、必要に応じてローカルキャッシュを再構築する代替ノードをスケジュールします。完全なデータ移行は不要です。従来のステートフルアーキテクチャでシャード復旧に数十分から数時間かかるのに対し、障害の影響範囲(ブラストレディウス)が大幅に縮小されます。
書き込みレイヤーが一時的にプライマリシャードをホストできない場合、新しい書き込みは一時停止されます。対応する検索シャードが利用可能な限り、システムはすでに永続化・公開されたデータに対してクエリを継続できます。
Elasticsearch エコシステムとの互換性
サポート対象の API 範囲内では、アプリケーションは引き続き Elasticsearch REST API および Query DSL を使用でき、全文検索、ベクトル KNN、フィルター、集約を組み合わせられます。公式の Python、Java、Go、JavaScript クライアント、Kibana などのエコシステムコンポーネントは、互換インターフェイスのリクエスト構造およびクエリ構文を再利用できるため、インターフェイス層の変更を最小限に抑えられます。移行前には、ターゲットインスタンスバージョンの API 互換性ドキュメントを参照し、使用中のインターフェイスおよびエコシステムコンポーネントを検証してください。
ユースケース
| シナリオ | 推奨データ構成 | 主要価値 |
| 企業ナレッジベースおよび RAG | 各ナレッジベースを Slice として扱う | 単一の Collection で多数のナレッジベースを管理可能。アクティブなベースはミリ秒単位で応答。休眠中のベースはオブジェクトストレージ料金のみ発生。 |
| AI コーディングおよびコード検索 | 各コードリポジトリまたはプロジェクトを Slice として扱う | コミット後数秒以内にコードが検索可能に。開発者のリアルタイム検索がバッチ書き込みの影響を受けない。 |
| エージェントメモリ | テナント、エージェント、または独立メモリスペースを Slice としてパーティション化 | 書き込み後すぐにクエリ可能。多数のエージェントにわたる休眠メモリはコンピュートおよびキャッシュリソースを消費しない。 |
| マルチテナント検索サービス | 各テナントまたはビジネススペースを Slice として扱う | プラットフォームが基盤となるインデックスを管理。テナントデータは物理的にクラスタリング。シングルテナントクエリのコストは当該テナントのデータ量にのみ依存。 |
基本概念とアーキテクチャ
コアアーキテクチャは、次の 3 つのアイデアに基づいています:永続状態はオブジェクトストレージに保存され、書き込みおよびクエリリソースは独立してスケーリングされ、複数のビジネススペースは Collection および Slice を通じて整理されます。
基本概念
AI Engine Edition を理解するには、Collection と Slice の違いを把握してください。
| 概念 | 説明 |
| Collection | アプリケーションがデータにアクセスするための統一エントリポイント。その使い方は Elasticsearch インデックス名と類似しています。Collection には複数のビジネススペースを含めることができます。 |
| Slice | Collection 内の論理データスペース。たとえば、ナレッジベース、コードリポジトリ、エージェント、またはテナントをそれぞれ Slice として扱えます。 |
データの読み取りおよび書き込み時には、アプリケーションは Collection 名を使用してデータにアクセスし、Slice を通じて対象のビジネススペースを指定します。プラットフォームは Slice に対応するデータにリクエストをルーティングし、基盤となるインデックスおよびシャードを管理します。アプリケーションは基盤となるインデックス名を維持または直接操作する必要はありません。
Slice はデータの整理およびクエリ範囲のスコープ設定に使用されます。アカウントの権限境界と同等ではありません。テナント間で身分認証および権限隔離が必要な場合は、アプリケーションレイヤーの認証とプロダクトがサポートするセキュリティメカニズムを組み合わせてソリューションを設計してください。
コアアーキテクチャ

クエリデータは必要に応じてローカルキャッシュに入ります。各コンポーネントの主な役割は次のとおりです。
| コンポーネント | 主な役割 |
| Collection および Slice | Collection はデータアクセスのエントリポイントとして機能します。Slice は Collection 内のビジネススペースを識別し、プラットフォームはこれを使用してリクエストを対応するデータにルーティングします。 |
| インデックスノード | ドキュメントの書き込み、ライトアヘッドログの永続化、インデックス構築、バックグラウンドマージを処理します。 |
| 検索ノード | 全文検索、ベクトル検索、フィルター、集約クエリを実行し、クエリに必要なデータをローカルにキャッシュします。 |
| オブジェクトストレージ | クラスター運用に必要なインデックスデータ、ライトアヘッドログ、永続状態を保存します。データの耐久性は 11 桁以上です。課金は実際に使用したストレージ量に基づき、プロビジョニング済み容量は不要です。コンソールのインスタンス詳細ページでは、この容量は OpenStore Storage および OpenStore Storage Usage として表示されます。 |
データの書き込み方法
アプリケーションはリクエストパスに Collection 名を使用し、Slice を通じて対象のビジネススペースを識別します。
インデックスノードがリクエストを処理します。ライトアヘッドログ (Translog) がオブジェクトストレージに同期的に永続化された後、クライアントに書き込み完了が通知されます。
インデックスノードはバックグラウンドでインデックスファイルを生成し、新しいインデックスバージョン (Commit) を公開します。検索ノードがリフレッシュされた後、Elasticsearch のニアリアルタイムセマンティクスに従って、新しいデータがクエリ結果に含まれるようになります。
データのクエリ方法
アプリケーションはリクエストパスに Collection 名を使用し、Slice を通じて 1 つまたは複数のビジネススペースを指定します。Slice が指定されていないクエリは、意図しない全範囲クエリを防ぐため、デフォルトで拒否されます。Collection 全体をクエリするには、クエリ時に明示的にすべての Slice を選択してください。
検索ノードはまず、ローカルの共有キャッシュからクエリに必要なデータを読み取ります。
キャッシュミスが発生した場合、検索ノードはオブジェクトストレージから必要なデータ範囲をロードします。その後のクエリでは、すでにキャッシュに入ったホットデータを再利用し続けます。
ノード障害時のクエリ可用性を維持するには、AI Engine Edition 利用ガイドに記載されているとおり、レプリカ数および検索ノード数を設定してください。
ディスクネイティブベクトルインデックス (DiskBBQ)
AI Engine Edition は、階層的 K-means クラスタリングと BBQ 量子化を組み合わせて IO 予測可能な KNN クエリを実現するディスクネイティブベクトルインデックスである DiskBBQ を採用しています。クエリ時には最大 2 レベルの重心を探索し、ヒットクラスタをブロックシーケンシャル順に読み取ります。これにより、ベクトルをメモリ上に常駐させる必要なく、SSD キャッシュおよびオブジェクトストレージに自然に適合します。HNSW と比較して、DiskBBQ はインデックス構築速度を約 1 桁向上させ、メモリ制約下でもパフォーマンスが急激に低下するのではなく、滑らかに劣化します。
パフォーマンスリファレンス
以下の結果は、2026 年 7 月に典型的なアプリケーションシナリオで実施されたテストに基づくものです。これらは特定のテスト条件におけるコールドクエリおよびホットクエリのパフォーマンスを示しており、プロダクトの SLA、インスタンス仕様の保証、または他の環境における一般的なパフォーマンス結論を構成するものではありません。
| テスト項目 | 構成 |
| テスト環境 | Alibaba Cloud Elasticsearch AI Engine Edition、インデックスノード 2 台および検索ノード 2 台(各 16 vCPU、64 GiB メモリ) |
| データ規模 | 10,000 のビジネススペース、合計 9,368 万件のドキュメント、2.8 TB のデータ |
| ベクトル構成 | 512 ディメンション、dot_product 類似度、bbq_disk インデックス (DiskBBQ) |
| クエリ方法 | KNN クエリ、サンプル候補セット 100 件から 10 件を返す |
| 遅延メトリック | サーバー側処理時間 took(クライアント側処理およびネットワーク遅延を含まない) |
| アクセス状態 | サンプル数 | P50 (中央値) | P90 | P99 |
| コールドクエリ | 180 | 225 ms | 377 ms | 605 ms |
| ホットクエリ | 1,800 | 1 ms | 32 ms | 65 ms |
上記データは、16 vCPU および 64 GiB メモリを搭載したインデックスノードおよび検索ノードを使用して取得されました。ノードスペック、最小ノード数、専用マスターノード構成は、購入ページに掲載されているオプションに準拠します。上記表のパフォーマンスは、テスト構成未満のスペックでは再現できません。最小スペックで同等のパフォーマンスを期待しないでください。実際のクエリパフォーマンスは、単一 Slice のデータ量、ベクトル次元、再現率パラメーター、ノードスペック、キャッシュ容量、同時負荷、ネットワーク条件にも影響されます。正式な選定前に、実際のビジネスデータおよびクエリを用いた容量評価およびストレステストを実施してください。
バージョンと互換性
AI Engine Edition は 9.99.x 形式のバージョン番号を使用します。9.99 は、プロダクトが Elasticsearch 9.x 互換シリーズに属することを示します。最後のバージョンセグメントは、AI Engine Edition 自体の機能反復を区別します。このバージョン番号は、特定の Elasticsearch 9.x マイナーバージョンと 1 対 1 で対応するものではなく、Elasticsearch 9.x のすべての機能および API をサポートすることを意味するものでもありません。
サポートされる機能および API は、9.99.x バージョン間で異なる場合があります。インスタンス作成またはワークロード移行前に、コンソールに表示されるインスタンスバージョンの API 互換性ドキュメントを参照し、データアクセス、クエリ範囲、ベクトル検索、データレプリケーション、セキュリティ機能などのサポート状況を確認してください。
現在の AI Engine Edition 9.99.0 は、Elasticsearch カーネルバージョン 9.5.0 に対応しているため、クラスター API が返すバージョン番号はコンソールに表示されるバージョンと異なります。今後は、実際の Elasticsearch バージョンはクラスター API の応答に基づきます。カスタムプラグインをインストールする際は、AI Engine Edition に一致する 9.99.0 バージョン番号を使用してください。
リージョンとゾーン
対応リージョンおよびゾーンは、購入ページに掲載されているオプションに準拠します。インスタンスの仕様、課金方法、および有効化手順は、Alibaba Cloud 公式サイト、コンソール、および公式リリースアナウンスに準拠します。正式な移行前に、API 互換性、データ規模、ホット/コールド分布、およびターゲットクエリ負荷に基づいてソリューション評価およびパフォーマンス検証を完了してください。
次のステップ
以下の手順に従って、AI Engine Edition インスタンス の使用を開始してください。
リージョンおよびバージョンの確認 — Alibaba Cloud 公式サイトまたはコンソールで、対象リージョンの購入が可能であることを確認します。インスタンスバージョンの API 互換性ドキュメントを参照し、依存するインターフェイスおよびエコシステムコンポーネントがサポートされていることを確認します。
データ構成の計画 — 「ユースケース」セクションに基づき、Slice のパーティション方法(ナレッジベース、コードリポジトリ、エージェント、またはテナント単位)を決定し、Collection の数および命名を計画します。
インスタンスの作成およびリソースの設定 — 予想される書き込み量に基づいてインデックスノードを設定します。クエリの同時実行数およびアクティブな作業セットに基づいて検索ノードを設定します。ノード障害時のクエリ可用性を維持するには、AI Engine Edition 利用ガイドに記載されているとおり、レプリカ数および検索ノード数を設定してください。
統合および検証 — Elasticsearch REST API または公式クライアントを使用して、書き込みおよびクエリの統合を実施します。Slice を通じてクエリ範囲を指定し、全文検索、ベクトル KNN、フィルター、集約を検証します。
容量評価およびストレステスト — 実際のビジネスデータおよびクエリを用いた容量評価およびストレステストを実施します。正式な移行を進める前に、コールドおよびホットクエリの遅延とキャッシュヒットパフォーマンスに注力してください。
今後の展開
オブジェクトストレージネイティブアーキテクチャを基盤として、ロードマップにはサブ秒単位のゼロコピー分岐(コピーオンライトに基づき任意の Slice に対して独立したデータブランチを作成し、評価、カナリアリリース、ロールバックに適したもの)、コンピュートレイヤーの Scale to Zero(アイドル状態のビジネススペースを自動的にほぼゼロまでスケーリングし、コストをアクティブな負荷にさらに適合させる機能)、および Alibaba Cloud Elasticsearch エコシステム機能とのより深い統合が含まれます。具体的な機能リリースのタイムラインは、プロダクトアナウンスに準拠します。