非プライマリキー列のクエリや複数条件の組み合わせクエリなど、さまざまなクエリ機能がビジネスで必要な場合は、データテーブルの検索インデックスを作成し、その検索インデックスを使用してデータをクエリできます。このトピックでは、コンソールを使用して検索インデックスをすばやく使用する方法について説明します。
SDK または コマンドラインツール を使用して、検索インデックスをすばやく使用することもできます。
前提条件
データテーブルを作成済みであること。データテーブルのバージョン最大数パラメータは 1 に設定する必要があり、生存時間パラメータは次のいずれかの条件を満たしている必要があります。
データテーブルの生存時間(TTL)が -1 に設定されていること。これは、データテーブル内のデータが期限切れにならないことを指定します。
データテーブルの生存時間が -1 に設定されていない場合は、データテーブルが更新禁止状態になっている必要があります(つまり、更新を許可 が いいえ に設定されている)。
手順
手順 1:検索インデックスを作成する
データクエリを高速化するために検索インデックスを作成できます。クエリするフィールドを検索インデックスに追加する必要があります。ビジネス要件に基づいて、ルーティングキー、生存時間、事前ソートパラメータなどの詳細設定を構成できます。
[インデックス管理] タブに移動します。
Tablestore コンソール にログインします。
上部のナビゲーションバーで、リソースグループとリージョンを選択します。
[概要] ページで、インスタンス名をクリックするか、[アクション] 列の [インスタンスの管理] をクリックします。
[インスタンスの詳細] タブの [データテーブル] セクションで、データテーブル名をクリックするか、[アクション] 列の [インデックス管理] をクリックします。
[インデックス管理] タブで、[検索インデックスの作成] をクリックします。
[インデックスの作成] ダイアログボックスで、必要に応じてインデックス名を設定します。
スキーマ生成方法で [自動生成] を選択し、フィールドタイプを選択し、必要に応じて配列を有効にするかどうかを設定します。
検索インデックス名は example_index で、4 つの列が含まれています。id(あいまい検索用のテキストタイプ)、cost(double タイプ)、name(キーワードタイプ)、および age(long タイプ)。
重要検索インデックスの [フィールド名] はデータテーブルのフィールド名と同じである必要があり、検索インデックスのフィールドの データ型 はデータテーブルのフィールドのデータ型と一致している必要があります。

[OK] をクリックします。
検索インデックスが作成された後、インデックスリストの [アクション] 列で、[インデックスの詳細] をクリックして、インデックステーブルの基本情報、インデックスメトリック、ルーティングキー、インデックスフィールド、および事前ソート情報を表示します。
手順 2:検索インデックスを使用してデータをクエリおよび分析する
検索インデックスを使用してデータをクエリする場合、ビジネス要件に基づいてクエリタイプを選択できます。データをクエリする際には、返す列、返されるデータのソート方法、およびデータに対して統計分析を実行するかどうかを構成できます。
この例では、範囲クエリを使用して cost 列の値が 10 以上 1000 以下の行をクエリし、条件を満たす行の cost 列の値の合計を計算する方法を示します。
[インデックス管理] タブで、対象の検索インデックスの [アクション] 列の [検索] をクリックします。
[データのクエリ] ダイアログボックスで、インデックスフィールドに cost を選択し、[追加] をクリックします。

範囲クエリの条件を構成します。
インデックスフィールドの [クエリタイプ] を [範囲クエリ(RangeQuery)] に設定します。
最大値を 1000 に、最小値を 10 に設定します。
[統計を有効にする] スイッチをオンにし、統計条件を構成します。
統計フィールドに cost を選択し、[追加] をクリックします。
[統計タイプ] を [合計] として選択し、[統計名] を costtotal に設定します。
[OK] をクリックします。
クエリ条件を満たすデータが [インデックス管理] タブに表示されます。
FAQ
関連情報
コンソールの検索インデックスでサポートされているクエリタイプには、term クエリ、複数値完全一致検索、範囲クエリ、プレフィックスクエリ、サフィックスクエリ(テキストフィールドにのみ使用可能)、ワイルドカードクエリ、一致検索、フレーズ一致検索、exists クエリ、ブールクエリ、ジオクエリ(地理的距離クエリ、地理的境界ボックスクエリ、および 地理的多角形クエリ。これらはジオフィールドにのみ使用可能)、ネストされたクエリ(ネストされたフィールドにのみ使用可能)、および AISearch が含まれます。