すべてのプロダクト
Search
ドキュメントセンター

Tablestore:検索インデックスの制限

最終更新日:Dec 28, 2024

このトピックでは、検索インデックスの制限について説明します。制限には、フィールドマッピングの制限、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。

  • Searchオペレーションを呼び出して指定された列のデータをクエリする場合、データが検索インデックスに含まれている場合、limitパラメータの値は最大1000にすることができます。したがって、リクエストごとに最大1,000行を返すことができます。

  • 制限を増やすには、チケットを送信してください。

timeout

10秒

なし。

CU

なし。

なし。

QPS

100,000

  • 軽量トランザクション処理の上限は、1秒あたり100,000クエリ(QPS)です。

  • 制限を増やすには、チケットを送信してください。

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行/秒

  • 初めてデータがテーブルに書き込まれるとき、または短時間に大量のデータが書き込まれるときは、Tablestoreは数分以内に負荷を分散します。

  • Textフィールドのインデックス作成の最大レートは、トークン化に大量のCPUリソースが消費されるため、10,000行/秒に制限されています。

  • 制限を増やすには、チケットを送信してください。

同期レイテンシ

3秒

  • ほとんどの場合、同期レイテンシは3秒以内です。

  • 新しいインデックスを初期化するには、最大1分かかります。

インデックスの行数

1,000億

制限を増やすには、チケットを送信してください。

合計サイズ

100 TB

制限を増やすには、チケットを送信してください。

その他の制限

現在、検索インデックス機能は、中国(杭州)、中国(上海)、中国(青島)、中国(北京)、中国(張家口)、中国(ウランチャブ)、中国(深圳)、中国(広州)、中国(成都)、中国(香港)、シンガポール、マレーシア(クアラルンプール)、インドネシア(ジャカルタ)、日本(東京)、ドイツ(フランクフルト)、英国(ロンドン)、米国(シリコンバレー)、米国(バージニア)、タイ(バンコク)、SAU(リヤド - パートナーリージョン)、フィリピン(マニラ)の各リージョンでサポートされています。KNNベクトルクエリ機能は、米国(シリコンバレー)リージョンではサポートされていないことに注意してください。

説明

上記の制限によってビジネス要件が満たされない場合は、Alibaba Cloudの公式Webサイトにアクセスしてチケットを送信してください。チケットを送信する際は、調整したい制限と希望する制限値を指定する必要があります。また、新しい制限を使用したいシナリオと、これらの新しい制限が必要な理由も指定する必要があります。チケットで指定した要件は記録され、今後の開発に役立てられます。