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

Tablestore:機能

最終更新日:Dec 28, 2024

Tablestoreは、ランダムな主キー列と主キー以外の列に基づくクエリ、ブールクエリ、地理クエリ、全文検索、あいまいクエリ、プレフィックスクエリ、ネストされたクエリ、折りたたみ(重複排除)、並べ替え、すべて一致クエリ、集計など、以下の主要機能を提供します。ビジネス要件に基づいてこれらの機能を使用できます。検索インデックスの一部の機能は、特定のSQLステートメントと同等です。

主要機能

検索インデックスは、多次元データクエリと一般的な統計分析をサポートします。次の表は、検索インデックスの主要機能について説明しています。

機能

説明

参照

主キー列と主キー以外の列に基づくクエリ

主キー列または主キー列のプレフィックスのみに基づくクエリは、一部のシナリオでは要件を満たすことができません。

主キー以外の列に基づいてデータをクエリする場合は、その列を検索インデックスに含め、主キー以外の列に基づいてクエリを実行できます。

タームクエリなどの、検索インデックスによって提供されるクエリメソッドのドキュメント

ブールクエリ

ブールクエリは、注文シナリオに適しています。注文シナリオでは、テーブルに数十のフィールドが含まれている場合があります。テーブルを作成するときに、クエリに必要なフィールドをどのように組み合わせるかを判断するのが難しい場合があります。必要なフィールドの組み合わせ方を決定できたとしても、数百種類の組み合わせが利用できる可能性があります。

リレーショナルデータベースサービスを使用する場合、数百のインデックスを作成する必要がある場合があります。さらに、特定の組み合わせに対して事前にインデックスが作成されていない場合、必要なデータをクエリすることはできません。

Tablestoreを使用して、必要となる可能性のあるすべてのフィールドを含む検索インデックスを作成し、クエリでこれらのフィールドを自由に組み合わせることができます。検索インデックスは、AND、OR、NOTなどの論理演算子もサポートしています。

ブールクエリ

地理クエリ

モバイルデバイスの人気が高まるにつれ、地理的位置データの重要性が増しています。地理的位置データは、ソーシャルメディアアプリ、食品配達アプリ、スポーツアプリ、Internet of Vehicles(IoV)アプリなど、さまざまなアプリで使用されています。これらのアプリには、地理的位置データをサポートするクエリ機能が必要です。

検索インデックスは、次の地理的位置データに基づくクエリをサポートしています。

  • 近接:WeChatのPeople Nearby機能など、中心点に基づいて特定の半径内の点をクエリします。

  • 範囲内:特定の長方形または多角形領域内の点をクエリします。

Tablestoreを使用すると、他のデータベースサービスや検索エンジンを使用せずに、これらの機能を使用して地理的位置データをクエリできます。

全文検索

検索インデックスは、全文検索をサポートするためにデータをトークン化できます。検索インデックスを使用して、BM25ベースのキーワード関連性スコアに基づいてのみクエリ結果を並べ替えることができます。他の関連性スコアに基づいてクエリ結果を並べ替える場合は、検索システムを使用することをお勧めします。

検索インデックスは、単一単語トークン化、区切り文字トークン化、最小意味単位トークン化、最大意味単位トークン化、あいまいトークン化などのトークン化方法をサポートしています。要件に基づいてトークン化方法を選択できます。

クエリ出力で特定のキーワードを強調表示するには、強調表示機能を有効にします。

KNNベクトル問合せ

検索インデックスは、KNNベクトル問合せ機能を提供します。ベクトルを使用して近似最近傍探索を実行することにより、大規模データセットで最も類似したデータ項目を見つけることができます。この機能は、レコメンデーションシステム、画像とビデオの検索、自然言語処理(NLP)などのシナリオに適しています。

KNNベクトルクエリの概要

あいまいクエリ

検索インデックスは、ワイルドカードに基づくクエリをサポートしています。この機能は、リレーショナルデータベースのLIKE演算子に似ています。疑問符(?)やアスタリスク(*)などの文字とワイルドカードを指定して、LIKE演算子に似たワイルドカードクエリを実行できます。

プレフィックスクエリ

検索インデックスは、プレフィックスクエリをサポートしています。たとえば、プレフィックスappleに基づくクエリでは、apple6sapplexrなどの結果が返されます。この機能は、すべての自然言語に適しています。

プレフィックスクエリ

存在クエリ

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

存在クエリ

ネストされたクエリ

オンラインアプリケーション(タグ付き画像など)によって生成されるデータは、フラットな構造に加えて、複雑で多層的な構造を持つことがよくあります。たとえば、データベースに多数の画像が格納されており、各画像には家、車、人などの複数の要素があります。画像内の各要素には、一意の重みスコアがあります。スコアは、画像内の要素のサイズと位置に基づいて評価されます。したがって、各画像には複数のタグがあります。各タグには、名前と重みスコアがあります。ネストされたクエリを使用して、タグ条件に基づいてデータをクエリできます。画像タグはJSON形式で格納されます。例:

{
 "tags": [
   {
      "name": "car",
      "score": 0.78
   },
   {
      "name": "tree",
      "score": 0.24
   }
 ]
}

ネストされたクエリは、複数の層の論理関係を持つデータをクエリするために使用できます。これにより、複雑なデータのモデリングが大幅に容易になります。

JSONなどの複雑なデータ構造のネストされたフィールドの場合、強調表示機能を有効にして必要な情報を正確に特定することもできます。

折りたたみ(重複排除)

検索インデックスは、折りたたみ(重複排除)機能をサポートしています。折りたたみ(重複排除)機能を使用して、特定の列に基づいて結果セットを折りたたむことができます。これにより、指定されたタイプのデータがクエリ結果に1回だけ表示され、結果タイプの多様性が確保されます。たとえば、eコマースのシナリオでlaptopを検索すると、最初のページに同じブランドのラップトップが表示され、結果がユーザーフレンドリーにならない場合があります。この場合、折りたたみ(重複排除)機能を使用して、最初のページに異なるブランドのラップトップが表示されるようにすることができます。

折りたたみ(重複排除)

並べ替え

Tablestoreは、データの主キーに基づく並べ替え機能を提供します。他のフィールドに基づいてデータを並べ替える場合は、検索インデックスの並べ替え機能を使用できます。

検索インデックスは、1つ以上の条件に基づいて昇順または降順での並べ替えをサポートしています。並べ替え操作は、検索インデックス内のすべてのデータに対してグローバルに実行されます。デフォルトでは、検索インデックスの返される結果は、データテーブルの主キーに基づいて並べ替えられます。

すべて一致クエリ

検索インデックスを使用して、クエリ条件に一致する行の総数を返すことができます。この機能は、データ検証とデータ駆動型操作に適用されます。

  • 検索インデックスを使用してすべて一致クエリを実行するときに空のクエリ条件を設定すると、検索インデックス内のすべてのデータがクエリ条件に一致します。この場合、返される行の総数は、検索インデックス内の行の総数です。

  • クエリ中にデータを書き込まず、データテーブル内のすべてのデータにインデックスが付けられている場合、返される行の総数は、データテーブル内の行の総数です。

集計

検索インデックスを使用すると、集計操作を実行して、行の最大値、最小値、平均値、合計、カウント、個別カウント、パーセンタイル、ヒストグラム統計を取得できます。検索インデックスを使用して結果をグループ化することもできます。これにより、軽量の統計分析を実行できます。

集計

SQLステートメントと検索インデックスの機能間のマッピング

検索インデックスの一部の機能には、同等のSQLステートメントがあります。次の表は、SQLステートメントと検索インデックスの機能間のマッピングについて説明しています。

SQL

検索インデックス機能

参照

Show

API操作:DescribeSearchIndex

DescribeSearchIndex

Select

パラメータ:ColumnsToGet

タームクエリなどの、検索インデックスによって提供されるクエリメソッドのドキュメント

From

パラメータ:インデックス名

重要

単一列インデックスはサポートされています。複数列インデックスはサポートされていません。

タームクエリなどの、検索インデックスによって提供されるクエリメソッドのドキュメント

Where

クエリ:タームクエリなど、さまざまなクエリメソッド

タームクエリなどの、検索インデックスによって提供されるクエリメソッドのドキュメント

Order by

パラメータ:sort

並べ替えとページングの実行

Limit

パラメータ:limit

並べ替えとページングの実行

Delete

API操作:クエリ後のDeleteRow

  1. 行の主キーを取得する

  2. データの削除

Like

クエリ:WildcardQuery

ワイルドカードクエリ

And

パラメータ:operator = and

ブールクエリ

Or

パラメータ:operator = or

Not

クエリ:BoolQuery(mustNotQueries)

Between

クエリ:RangeQuery

範囲クエリ

Null

クエリ:ExistsQuery

存在クエリ

In

クエリ:TermsQuery

タームクエリ

Min

集計:min

集計

Max

集計:max

Avg

集計:avg

Count

集計:count

Count(distinct)

集計:distinctCount

Sum

集計:sum

Group By

GroupBy