Azure Cognitive Search におけるサービスの制限

インデックスやその他のオブジェクトのストレージ、ワークロード、および数量の上限は、Azure Cognitive SearchFreeBasicStandardストレージ最適化 のどの価格レベルでプロビジョニングするかによって異なります。

  • Free は、Azure サブスクリプションに付属しているマルチテナント共有サービスです。

  • Basic では、小規模な運用ワークロードに対して専用のコンピューティング リソースが提供されますが、一部のネットワーク インフラストラクチャは他のテナントと共有されます。

  • Standard は、すべてのレベルでさらに多くのストレージや処理能力を持つ専用マシン上で実行されます。 Standard には 4 つのレベル(S1、S2、S3、S3 HD) があります。 S3 高密度 (S3 HD) は、マルチテナントと大量の小さなインデックス (サービスあたり 3,000 インデックス) 向けに設計されています。 S3 HD は、インデクサー機能を提供しません。また、データ インジェストでは、ソースからインデックスにデータをプッシュする API を活用する必要があります。

  • ストレージ最適化 は、Standard よりも多くの合計ストレージ、ストレージ帯域幅、およびメモリを備えた専用マシンで実行されます。 このレベルでは、大型で、緩やかに変化するインデックスが対象となります。 ストレージ最適化は 2 つのレベルがあります: L1 と L2 です。

サブスクリプションの制限

サブスクリプション内に複数のサービスを作成することができます。 作成したサービスはそれぞれ、一定のレベルでプロビジョニングできます。 各レベルにはサービス数に上限が設けられています。 たとえば、Basic レベルのサービスであれば 12 個まで作成できますが、同じサブスクリプションの枠内で S1 レベルのサービスをさらにもう 12 個まで作成できます。 レベルの詳細については、Azure Cognitive Search 用の SKU または価格レベルの選択に関するページを参照してください。

サービス数の上限は、依頼により引き上げが可能です。 同一のサブスクリプションで通常よりも多数のサービスが必要な場合には、Azure Support にお問い合わせください。

リソース Free1 Basic S1 S2 S3 S3 HD L1 L2
最大サービス数 1 16 16 8 6 6 6 6
検索単位の最大スケール (SU)2 該当なし 3 SU 36 SU 36 SU 36 SU 36 SU 36 SU 36 SU

1 Free は、専用リソースではなく、共有リソースに基づいています。 スケールアップは、共有リソースではサポートされていません。

2 Search ユニットは、レプリカ または パーティション のいずれかとして割り当てられている請求単位です。 ストレージ、インデックス作成、およびクエリ操作については、両方のリソースが必要になります。 SU の計算の詳細については、クエリとインデックス作成のワークロードに応じたリソース レベルのスケーリングに関するページを参照してください。

ストレージの制限

検索サービスは、ディスク領域と、インデックスまたはインデクサーの最大数のハード制限のうち、先に達したものによって制約されます。 次の表では、ストレージの制限についてまとめています。 オブジェクトの上限については、リソース別の制限に関するセクションを参照してください。

リソース Free Basic1 S1 S2 S3 S3 HD L1 L2
サービス レベル アグリーメント (SLA)2 いいえ はい はい はい はい はい はい はい
パーティションあたりのストレージ容量 50 MB 2 GB 25 GB 100 GB 200 GB 200 GB 1 TB (テラバイト) 2 TB
サービスあたりのパーティション数 該当なし 1 12 12 12 3 12 12
パーティション サイズ 該当なし 2 GB 25 GB 100 GB 200 GB 200 GB 1 TB (テラバイト) 2 TB
レプリカ 該当なし 3 12 12 12 12 12 12

1 Basic には、1 つの固定パーティションがあります。 追加の検索ユニットを使用することで、レプリカを追加してより多くのクエリを実行できます。

2 専用リソースの課金対象のサービスでは、サービス レベル アグリーメントが有効です。 Free サービスおよびプレビュー機能には SLA がありません。 課金対象のサービスで、SLA が有効になるのは、サービスに対して十分な冗長性がプロビジョニングされている場合です。 クエリ (読み取り) の SLA には複数のレプリカが必要です。 クエリとインデックス作成 (読み取り/書き込み) の SLA には 3 つ以上のレプリカが必要です。 パーティション数は SLA には関係ありません。

インデックスの制限

リソース Free Basic 1 S1 S2 S3 S3 HD L1 L2
最大インデックス 3 5 または 15 50 200 200 パーティションあたり 1,000、またはサービスあたり 3,000 10 10
インデックスあたりの単純型フィールドの最大数 1000 100 1000 1000 1000 1000 1000 1000
インデックスあたりの複合コレクション フィールドの最大数 40 40 40 40 40 40 40 40
ドキュメントあたりのすべての複合コレクション全体での最大要素数 2 3000 3000 3000 3000 3000 3000 3000 3000
複合フィールドの最大深度 10 10 10 10 10 10 10 10
インデックスあたりの最大サジェスター 1 1 1 1 1 1 1 1
インデックスあたりの最大スコアリング プロファイル 100 100 100 100 100 100 100 100
プロファイルあたりの最大関数 8 8 8 8 8 8 8 8

1 2017 年 12 月より前に作成された Basic サービスは、インデックスでの制限が低くなっています (15 ではなく 5)。 Basic レベルにのみ下限 (インデックスあたり 100 フィールド) があります。

2 多数の要素があると、インデックスに必要なストレージは大幅に増えるため、要素には上限があります。 複合コレクションの要素は、そのコレクションのメンバーとして定義されます。 たとえば、部屋の複合コレクションが記載されているホテル ドキュメントがあるとします。部屋コレクション内の各部屋は、1 つの要素として見なされます。 インデックス作成時は、インデックス作成エンジンによって、ドキュメント全体で最大 3,000 の要素が安全に処理されます。 この制限api-version=2019-05-06 で導入され、文字列コレクションや複合フィールドではなく、複合コレクションにのみ適用されます。

ドキュメントの制限

2018 年 10 月現在、いずれのリージョンにおいても、課金対象レベル (Basic、S1、S2、S3、S3 HD) で作成された新しいサービスに関して、ドキュメント数の制限はありません。 2018 年 10 月より前に作成された古いサービスでは、ドキュメント数の制限がまだ適用される場合があります。

使用しているサービスにドキュメントの制限があるかどうかを判定するには、GET サービス統計情報 REST API を使用します。 ドキュメントの制限が応答に反映され、null は制限がないことを示します。

注意

このサービスによって課されるドキュメントの制限はありませんが、Basic、S1、S2、S3 の検索サービスでは、インデックスあたり約 240 億ドキュメントのシャード制限があります。 S3 HD の場合、シャード制限は、インデックスあたり 20 億ドキュメントです。 シャード制限に関しては、複合コレクションの各要素は個別のドキュメントとしてカウントされます。

API 呼び出しごとのドキュメント サイズの制限

インデックス API を呼び出すときのドキュメント サイズの上限は約 16 メガバイトです。

ドキュメント サイズとは、実際にはインデックス API の要求本文のサイズに対する制限を意味します。 複数のドキュメントのバッチを一度にインデックス API に渡すことができるため、このサイズの制限は、現実的には、バッチ内のドキュメント数に左右されます。 バッチ内のドキュメントが 1 つの場合、最大ドキュメント サイズは JSON 形式で 16 MB です。

ドキュメント サイズを推定する場合は、検索サービスで使用できるフィールドのみを考慮してください。 ソース ドキュメント内のバイナリ データまたはイメージ データはすべて、計算から除外する必要があります。

インデクサー制限

サービスに全体としてのバランスと安定性を提供するために、最大実行時間が設けられていますが、より大規模なデータ セットでは、許可されている最大値よりも長いインデックス作成時間が必要になることがあります。 インデックス作成ジョブが最大許容時間内で完了できない場合は、スケジュールで実行してください。 スケジューラはインデックスの状態を追跡します。 スケジュールされたインデックス作成ジョブが何らかの理由で中断された場合、インデクサーは、次のスケジュールされた実行時に最後の終了状態を選択できます。

リソース Free 1 Basic 2 S1 S2 S3 S3 HD 3 L1 L2
最大インデクサー 3 5 または 15 50 200 200 該当なし 10 10
最大データソース 3 5 または 15 50 200 200 該当なし 10 10
最大スキルセット 4 3 5 または 15 50 200 200 該当なし 10 10
呼び出しあたりの最大インデックス作成負荷 10,000 ドキュメント 最大ドキュメントによってのみ制限 最大ドキュメントによってのみ制限 最大ドキュメントによってのみ制限 最大ドキュメントによってのみ制限 該当なし 制限なし 制限なし
最小限のスケジュール 5 分 5 分 5 分 5 分 5 分 5 分 5 分 5 分
最大実行時間 1 ~ 3 分 24 時間 24 時間 24 時間 24 時間 該当なし 24 時間 24 時間
スキルセット 5 のインデクサー最大実行時間 3 から 10 分 2 時間 2 時間 2 時間 2 時間 該当なし 2 時間 2 時間
BLOB インデクサー: BLOB の最大サイズ、MB 16 16 128 256 256 該当なし 256 256
BLOB インデクサー: BLOB から抽出されたコンテンツの最大文字数 32,000 64,000 400万   800万  1,600万 該当なし 400万  400万 

1 Free サービスのインデクサーの最大実行時間は、BLOB ソースの場合は 3 分、その他のすべてのデータ ソースの場合は 1 分です。 Cognitive Services に呼び出しを行う AI インデックスについては、トランザクションが強化パイプラインを正常に通過するドキュメントとして定義された場合、無料のサービスは 1 日あたり 20 個の無料トランザクションに制限されます。

2 2017 年 12 月より前に作成された Basic サービスは、インデクサー、データ ソース、およびスキルセットでの制限が低くなっています (15 ではなく 5)。

3 S3 HD サービスには、インデクサー サポートが含まれません。

4 スキルセットあたり最大 30 スキル。

5 AI エンリッチメントと画像分析は、コンピューティングを集中的に使用し、使用可能な処理能力を大量に消費します。 キュー内の他のジョブにも、より多くの実行の機会が与えられるように、これらのワークロードの実行時間は短縮されました。

注意

インデックスの制限」で説明したように、複合型をサポートする最新の GA API バージョン (2019-05-06) 以降では、ドキュメントごとのすべての複合コレクションに対する 3,000 要素の上限も、インデクサーによって適用されます。 つまり、以前のバージョンの API を使用してインデクサーを作成した場合、この制限の対象にはなりません。 最大の互換性を維持するために、以前のバージョンの API で作成され、API バージョン 2019-05-06 以降で更新されたインデクサーは、引き続き制限から 除外 されます。 前述のように、非常に大きな複合コレクションがあると、悪影響が生じることに注意する必要があります。最新の GA API バージョンを使用して、新しいインデクサーを作成することを強くお勧めします。

インデクサーでは、共有プライベート リンク リソース API を使用して管理されているプライベート エンドポイント経由で他の Azure リソースにアクセスできます。 このセクションでは、この機能に関連する制限について説明します。

リソース Free Basic S1 S2 S3 S3 HD L1 L2
プライベート エンドポイント インデクサーのサポート いいえ はい はい はい はい いいえ はい はい
スキルセットがあるインデクサーのプライベート エンドポイントのサポート1 いいえ いいえ いいえ はい はい いいえ はい はい
最大プライベート エンドポイント N/A 10 または 30 100 400 400 N/A 20 20
個別のリソースの種類の最大数2 該当なし 4 7 15 15 該当なし 4 4

1 AI エンリッチメントと画像分析は、コンピューティングを集中的に使用し、使用可能な処理能力を大量に消費します。 このため、検索サービス自体のパフォーマンスと安定性に悪影響を及ぼさないように、下位層でプライベート接続は無効になっています。

2 個別のリソースの種類の数は、リソースの状態に関係なく、特定の検索サービスのすべての共有プライベート リンク リソースで使用される一意の groupId 値の数として計算されます。

シノニムの制限

シノニム マップの最大数は、レベルによって異なります。 各規則には最大 20 の拡張を含めることができます。ここで、拡張は同義語です。 たとえば、"cat" の場合、"kitty"、"feline"、および "felis" (ネコ属) との関連は、3 つの拡張としてカウントされます。

リソース Free Basic S1 S2 S3 S3-HD L1 L2
シノニムマップの最大数 3 3 5 10 20 20 10 10
マップごとの規則の最大数 5000 20000 20000 20000 20000 20000 20000 20000

データの制限 (AI エンリッチメント)

エンティティ認識キー フレーズ抽出センチメント分析言語検出、および個人情報検出の Text Analytics リソースに対して呼び出しを行う AI エンリッチメント パイプラインは、データの制限を受ける可能性があります。 レコードのサイズは、String.Length で測定して 50,000 文字以下にする必要があります。 データをセンチメント アナライザーに送信する前に分割する必要がある場合は、テキスト分割スキルを使用します。

スロットルの制限

システムがピーク時の容量に近づくにつれて、API 要求が調整されます。 スロットルの動作は API によって異なります。 クエリ API (検索/提案/オートコンプリート) とインデックス作成 API は、サービスの負荷に基づいて動的に調整されます。 インデックス API とサービス操作 API には、静的な要求レート制限があります。

インデックスに関連する操作の静的なレート要求の制限:

  • インデックスの一覧取得 (GET /indexes):1 秒あたり 3 件 (検索単位あたり)
  • インデックスの取得 (GET /indexes/myindex):1 秒あたり 10 件 (検索単位あたり)
  • インデックスの作成 (POST /indexes):1 分あたり 12 件 (検索単位あたり)
  • インデックスの作成または更新 (PUT /indexes/myindex):1 秒あたり 6 件 (検索単位あたり)
  • インデックスの削除 (DELETE /indexes/myindex):1 分あたり 12 件 (検索単位あたり)

サービスに関連する操作の静的なレート要求の制限:

  • サービス統計情報 (GET /servicestats):1 秒あたり 4 件 (検索単位あたり)

API 要求の制限

  • 要求あたりの最大値: 16 MB1
  • URL の最大長: 8 KB
  • インデックスののアップロード、マージ、または削除のバッチあたりの最大ドキュメント数: 1,000
  • $orderby 句の最大フィールド数: 32
  • 検索用語の最大サイズ: UTF-8 でエンコードされたテキストの 32,766 バイト (32 KB - 2 バイト)

1 Azure Cognitive Search では、要求の本文は上限 16 MB に左右され、それ以外では理論的制限によって制約されない個々のフィールドまたはコレクションのコンテンツに実際的な制限が課せられます (フィールドの構成と制約の詳細については、サポートされているデータ型に関するページをご覧ください)。

API 応答の制限

  • 検索結果のページごとに返される最大ドキュメント数: 1,000
  • 検索候補 API 要求ごとに返される最大検索候補数: 100

API キーの制限

API キーは、サービスの認証に使用されます。 次の 2 つの種類があります。 管理者キーは、要求ヘッダーで指定され、サービスに完全な読み取り/書き込みアクセス権を付与します。 クエリ キーは、読み取り専用で、URL で指定され、通常はクライアント アプリケーションに配布されます。

  • サービスあたりの最大管理キー数: 2
  • サービスあたりの最大クエリ キー数: 50