サフィックスクエリ (SuffixQuery) は、多次元インデックス内で特定の文字列で終わるデータを検索します。たとえば、電話番号の下 4 桁を使用して荷物の配送状況を照会できます。
仕組み
サフィックスクエリを使用して、特定のサフィックスで終わるデータを検索します。SuffixQuery を実行するには、一致させるサフィックスを指定する必要があります。
サフィックスクエリをサポートするデータの型は FuzzyKeyword のみです。FuzzyKeyword データの型は、SuffixQuery や PrefixQuery、wildcard query などのあいまい検索操作に最適化されています。小規模、中規模、大規模なデータセットにおいても優れた安定したパフォーマンスを提供し、データ量が増加してもパフォーマンスが著しく低下することはありません。
-
FuzzyKeyword型のフィールドでは、ソートや集約はサポートされません。FuzzyKeywordフィールドに対してソートまたは集約を行う必要がある場合は、この目的のためにKeyword型の仮想カラムを作成できます。 -
Keywordフィールドでサフィックスクエリをシミュレートするには、データ書き込み時に文字列を逆順にしてから、プレフィックスクエリ (PrefixQuery) を使用してデータを検索します。
API
Search 操作または ParallelScan 操作を呼び出してサフィックスクエリを実行します。クエリタイプを SuffixQuery に設定してください。
パラメーター
|
パラメーター |
説明 |
|
query |
クエリタイプを SuffixQuery に設定します。 |
|
fieldName |
一致させるフィールドです。 |
|
suffix |
サフィックスの値です。 |
|
getTotalCount |
一致した行の総数を返すかどうかを指定します。デフォルト値は false です。 一致した行の総数を返すと、クエリのパフォーマンスに影響します。 |
|
weight |
クエリの重みです。このパラメーターは、フルテキストインデックスのシナリオにおけるスコアベースのソートに使用されます。重みの値が高いほど、一致した行のスコアが高くなります。値は正の浮動小数点数である必要があります。 このパラメーターは返される結果のスコアにのみ影響し、結果の件数には影響しません。 |
|
tableName |
データテーブルの名前です。 |
|
indexName |
検索インデックスの名前。 |
|
columnsToGet |
返すカラムです。これには returnAll および columns の設定が含まれます。 デフォルトでは、returnAll は false です。returnAll が false の場合、columns を使用して返すカラムを指定できます。columns を指定しない場合、プライマリキー列のみが返されます。 returnAll を true に設定すると、すべてのカラムが返されます。 |
使用方法
Tablestore コンソールまたは SDK を使用してサフィックスクエリを実行できます。開始する前に、以下の前提条件を満たしてください。
-
RAM ユーザーを作成し、Tablestore へのアクセス権限を付与済みであること。詳細については、「RAM ユーザーの AccessKey ペアを使用して Tablestore にアクセスする」をご参照ください。 -
データテーブルを作成済みであること。詳細については、「データテーブルの操作」をご参照ください。
-
データテーブルの検索インデックスを作成しました。詳細については、「検索インデックスを作成する」をご参照ください。
課金
多次元インデックスを使用したデータのクエリは、読み取りスループットを消費します。詳細については、「多次元インデックスのメータリングと課金」をご参照ください。
よくある質問
関連トピック
多次元インデックスは、完全一致検索、複数値完全一致検索、完全一致検索、一致検索、フレーズ一致検索、範囲クエリ、プレフィックスクエリ、サフィックスクエリ、ワイルドカード検索、トークンベースのワイルドカード検索、ブール検索、ジオクエリ、ネストされたクエリ、ベクトル検索、および 存在クエリ など、多次元データクエリ用のさまざまなクエリタイプをサポートしています。
データをクエリする際には、結果セットをソートおよびページネーションしたり、折りたたみ (重複排除) を実行したりできます。
最大値や最小値の検索、合計の計算、行数のカウントなどのデータ分析には、統計的集約 機能または SQL クエリ 機能を使用できます。
結果セットの順序を問わずデータを高速にエクスポートするには、Parallel Scan 機能を使用できます。