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

Tablestore:検索インデックス

最終更新日:Jan 23, 2025

検索インデックスは、転置インデックスと列のストアに基づいて、ビッグデータシナリオでの多次元データクエリと統計分析をサポートします。このトピックでは、Tablestore SDK for Go を使用して検索インデックス機能を使用する方法について説明します。

インデックスの管理

次の表に、検索インデックスでサポートされている管理操作を示します。

操作

説明

検索インデックスを作成する

データテーブルの検索インデックスを作成します。

検索インデックスを一覧表示する

テーブルに作成されている検索インデックスをクエリします。

検索インデックスの構成を更新する

検索インデックスの生存時間( TTL )を更新します。

検索インデックスの説明をクエリする

検索インデックスの説明(検索インデックスのフィールドに関する情報と検索インデックスの構成を含む)をクエリします。

検索インデックスを削除する

不要になった検索インデックスを削除します。

検索インデックスの TTL を指定する

ビジネス要件に基づいて、検索インデックスの既存データを削除するか、データの保存期間を延長します。

データ型

Long、Double、Boolean、Keyword、Text、Date、Geopoint、Vector などの基本的なデータ型に加えて、検索インデックスは Array と Nested の 2 つの特別なデータ型をサポートします。詳細については、「データ型」をご参照ください。

データクエリ

次の表に、検索インデックスでサポートされているクエリタイプを示します。ビジネス要件に基づいてクエリタイプを選択します。

機能

クエリタイプ

説明

基本クエリ

すべてに一致するクエリ

このクエリは、テーブル内のすべての行と一致し、テーブル内の行の総数をクエリするか、複数のランダムな行を返します。

Term クエリ

このクエリは、完全に一致を使用してデータテーブルからデータを取得します。 term クエリは、文字列マッチングに基づくクエリに似ています。

Terms クエリ

このクエリでは、複数のキーワードを指定して、キーワードの少なくとも 1 つと一致する行を検索できます。列値がキーワードの少なくとも 1 つと一致する場合、データ行が返されます。 Terms クエリは、 SQL 文の IN 演算子と同じ方法で使用できます。

プレフィックスクエリ

このクエリは、指定されたプレフィックスを含むデータをデータテーブルから取得します。

範囲クエリ

このクエリは、指定された範囲内にあるデータを取得します。

ワイルドカードクエリ

このクエリは、ワイルドカードを含む文字列と一致するデータを取得します。

Exists クエリ

このクエリは NULL クエリまたは NULL 値クエリとも呼ばれ、スパースデータで使用して、行の列が存在するかどうかを判断します。

折りたたみ(重複排除)

このクエリは、特定の列に基づいて結果セットを折りたたみ、指定されたタイプのデータが返される結果に 1 回だけ表示されるようにすることで、結果タイプの多様性を確保します。

地理クエリ

地理クエリは、円形範囲検索、四角形範囲検索、多角形範囲検索の 3 つのタイプに分類されます。

  • 円形範囲検索:このクエリでは、中心点と半径で定義された円形の地理的領域をクエリ条件として指定できます。 Tablestore は、指定されたフィールドの値が円形の地理的領域内にある行を返します。

  • 四角形範囲検索:このクエリでは、四角形の地理的領域をクエリ条件として指定できます。 Tablestore は、指定されたフィールドの値が四角形の地理的領域内にある行を返します。

  • 多角形範囲検索:このクエリでは、多角形の地理的領域をクエリ条件として指定できます。 Tablestore は、指定されたフィールドの値が多角形の地理的領域内にある行を返します。

ネストされたクエリ

このクエリは、ネストされたフィールドの子行のデータを取得します。

データ処理

ソートとページング

検索インデックスを作成するときにソート方法を事前に定義するか、検索インデックスを使用してデータをクエリするときにソート方法を指定できます。このようにして、クエリ条件を満たす行は、事前に定義または指定した順序に基づいて返されます。

応答に多数の行が含まれている場合は、limit パラメーターと offset パラメーターを構成するか、トークンを使用してデータを見つけることができます。

集約

集約操作を実行して、行の最小値、最大値、合計、平均、カウント、個別カウント、パーセンタイル統計、各グループの行を取得できます。また、集約操作を実行して、フィールド値、範囲、地理的な場所、フィルター、ヒストグラム、または日付ヒストグラム別に結果をグループ化し、ネストされたクエリを実行することもできます。複雑なクエリに対して複数の集約操作を実行できます。

サブクエリ条件の組み合わせに基づくクエリ

ブール値クエリ

このクエリは、サブクエリの組み合わせに基づいてデータテーブルからデータを取得します。 Tablestore は、サブクエリと一致する行を返します。

全文検索

一致検索

このクエリは、おおよそ一致を使用してデータテーブルからデータを取得します。

フレーズ一致検索

このクエリは一致検索に似ていますが、フレーズ一致検索ではトークンの位置が評価される点が異なります。行は、行内のトークンの順序と位置が指定された順序と位置と一致する場合にのみ、クエリ条件を満たします。

クエリ結果のハイライト表示

ハイライトパラメーターを構成して、クエリ条件を満たす行のセグメント内のクエリ文字列をハイライト表示できます。

ベクトル検索

KNN ベクトル検索

k 近傍( KNN )ベクトル検索機能を使用して、ベクトルに基づいて近似最近傍検索を実行できます。このようにして、大規模なデータセットで、クエリするベクトルと最も類似性が高いデータ項目を見つけることができます。

データエクスポート

クエリ結果の順序に要件がない場合は、並列スキャン機能を使用してクエリ結果を効率的に取得できます。詳細については、「並列スキャンを実行する」をご参照ください。