このトピックでは、検索インデックスの制限について説明します。制限には、フィールドマッピングの制限、SearchオペレーションおよびParallelScanオペレーション呼び出しによって実行されるデータクエリの制限、レート、合計サイズ、行数などの検索インデックスメトリクスの制限が含まれます。このトピックでは、検索インデックス機能が利用可能なリージョンについても説明します。
マッピング
次の表は、検索インデックスを作成する際に考慮すべきフィールドマッピングの制限について説明しています。制限には、フィールド長、インデックスフィールドの数、フィールドタイプ、ネストされたタイプ、テーブルフィールドの制限が含まれます。
項目 | 最大値 | 説明 |
インデックスフィールドの数 | 1000 | インデックス化できるフィールドの数。 |
配列の長さ | 256 | 配列内の要素の最大数。 |
ネストされたレベルの数 | 5 | 最大5レベルまでネストできます。 |
Nestedフィールドのサブフィールドの数 | 256 | Nestedフィールドのサブフィールドの最大数。 |
Nestedフィールドの数 | 100 | ネストできるサブフィールドの数。 |
すべてのプライマリキー列の値の合計の長さ | 1,000 バイト | 各行のすべてのプライマリキー列の値の合計の長さは、最大1,000バイトです。 |
String型のプライマリキー列の値の長さ | 1,000 バイト | String型のプライマリキー列をインデックス化するには、列の値の長さが1,000バイトを超えてはいけません。 |
列をKeywordとしてインデックス化する際の、String型の属性列の値の長さ | 4 KB | なし。 |
列をTextとしてインデックス化する際の、String型の属性列の値の長さ | 2 MB | ほとんどの場合、制限はデータテーブルの属性列の長さの制限と同じです。Textフィールドに対してあいまいトークン化に基づいてあいまいクエリを実行し、Textフィールドの値が1,024文字を超える場合、Tablestoreは超過文字を切り捨てて破棄し、最初の1,024文字のみをトークン化します。 |
ワイルドカードクエリのクエリ文字列の長さ | 32 | クエリ文字列の長さは最大32文字です。 |
プレフィックスクエリのクエリ文字列の長さ | 1,000 バイト | クエリ文字列の長さは最大1,000バイトです。 |
検索インデックスのVector型のフィールドの最大数 | 1 | 検索インデックスには、Vector型のフィールドを1つだけ含めることができます。制限を増やすには、チケットを送信してください。 |
検索インデックスのVector型のフィールドの最大次元数 | 2048 | 制限はベクトルの最大次元数と同じです。 |
KNNベクトルクエリでクエリするベクトルと最も類似度の高い上位K件のクエリ結果 | 1000 | KNNベクトルクエリでは、最も類似度の高いクエリ結果を最大1,000件返すことができます。 |
Search
次の表は、Searchオペレーションを呼び出してデータをクエリおよび分析する際の制限について説明しています。
カテゴリ | 項目 | 最大値 | 説明 |
一般的な制限 | offset+limit | 100000 | 返される行数を増やすには、next_tokenパラメータを設定します。 |
limit | 100 | デフォルト値:10。最大値:100。
| |
timeout | 10秒 | なし。 | |
CU | なし。 | なし。 | |
QPS | 100,000 |
| |
Searchオペレーションで指定されたクエリメソッドの数 | 1024 | 複雑なネストされたクエリがSearchオペレーションで指定されている場合、クエリのパフォーマンスが低下します。クエリを簡素化することをお勧めします。 | |
termsクエリのキーワードの最大数 | 1024 | termsクエリでは最大1,024個のキーワードがサポートされています。 | |
全文検索 | 強調表示されたテキストフラグメントの数 | 500 | inner_hitsパラメータとhighlightパラメータで指定された条件が満たされたときに返される、強調表示されたテキストフラグメントの合計数。 |
強調表示機能を有効にできるフィールドの数 | 10 | クエリで最大10個のフィールドに対して強調表示機能を有効にできます。 | |
集計 | 同じレベルの集計の数 | 5 | SubGroupByに新しい集計を追加するたびに、集計の数が再計算されます。 |
同じレベルのGroupByの数 | 5 | SubGroupByに新しいGroupByを追加するたびに、GroupByの数が再計算されます。 | |
ネストされたGroupByの数 | 3 | ルートGroupByはネストされたレベルとしてカウントされます。 | |
GroupByFilterのフィルタの数 | 10 | なし。 | |
GroupByFieldによって返されるグループの数 | 2,000 | なし。 | |
GroupByCompositeの内部ソースの数 | 32 | 複数列フィールドグループでサポートされる列の最大数。 | |
GroupByRangeの範囲の数 | 100 | なし。 | |
GroupByGeodistanceの範囲の数 | 10 | なし。 |
ParallelScan
次の表は、ParallelScanオペレーションを呼び出してデータをクエリし、並列でデータをエクスポートする際の制限について説明しています。
カテゴリ | 項目 | 説明 |
一般的な制限 | offset+limit | パラレル スキャンを使用する場合、offsetパラメータとlimitパラメータを設定することはできません。返される結果は時系列で表示されます。 |
limit | 最大値は2,000です。 | |
CU | なし。 | |
QPS | なし。 | |
ParallelScan呼び出しの並列スキャンタスクの最大数 | MaxParallelパラメータの値。ComputeSplitsオペレーションを呼び出すことで、パラメータの値を取得できます。 | |
並列スキャンタスクの最大有効期間 | 並列スキャンタスクの最大有効期間(aliveTime)は10分です。 | |
並列スキャンタスクの最大数 | 並列スキャンタスクの最大数は10です。同じセッションIDと同じScanQuery値を持つ並列スキャンタスクは、1つのタスクと見なされます。詳細については、パラレル スキャンを参照してください。 |
インデックス
次の表は、レート、同期レイテンシ、行数、合計サイズなどの検索インデックスメトリクスの制限について説明しています。
項目 | 最大値 | 説明 |
レート | 50,000行/秒 |
|
同期レイテンシ | 3秒 |
|
インデックスの行数 | 1,000億 | 制限を増やすには、チケットを送信してください。 |
合計サイズ | 100 TB | 制限を増やすには、チケットを送信してください。 |
その他の制限
現在、検索インデックス機能は、中国(杭州)、中国(上海)、中国(青島)、中国(北京)、中国(張家口)、中国(ウランチャブ)、中国(深圳)、中国(広州)、中国(成都)、中国(香港)、シンガポール、マレーシア(クアラルンプール)、インドネシア(ジャカルタ)、日本(東京)、ドイツ(フランクフルト)、英国(ロンドン)、米国(シリコンバレー)、米国(バージニア)、タイ(バンコク)、SAU(リヤド - パートナーリージョン)、フィリピン(マニラ)の各リージョンでサポートされています。KNNベクトルクエリ機能は、米国(シリコンバレー)リージョンではサポートされていないことに注意してください。
上記の制限によってビジネス要件が満たされない場合は、Alibaba Cloudの公式Webサイトにアクセスしてチケットを送信してください。チケットを送信する際は、調整したい制限と希望する制限値を指定する必要があります。また、新しい制限を使用したいシナリオと、これらの新しい制限が必要な理由も指定する必要があります。チケットで指定した要件は記録され、今後の開発に役立てられます。