接尾辞条件を指定することで、検索インデックス内のデータをクエリするために、接尾辞クエリを実行できます。たとえば、携帯電話番号の最後の4桁に基づいてパッケージをクエリできます。
機能概要
接尾辞クエリを使用すると、特定の接尾辞で終わるデータをクエリできます。接尾辞クエリを使用してデータをクエリする場合、接尾辞条件を指定する必要があります。
接尾辞クエリを実行して、FuzzyKeyword タイプのデータのみをクエリできます。 FuzzyKeyword は、接尾辞クエリ、プレフィックスクエリ、ワイルドカードクエリなどの機能向けに最適化されたデータ型です。 FuzzyKeyword タイプは、データサイズに関係なく、良好で安定したクエリパフォーマンスを提供します。データサイズが増加しても、クエリのパフォーマンスは低下しません。
FuzzyKeyword フィールドでは、ソートと集約はサポートされていません。 FuzzyKeyword フィールドでソートまたは集約を実行する場合は、仮想カラム機能を使用し、FuzzyKeyword フィールドがマッピングされている仮想カラムのタイプを Keyword に設定できます。
接尾辞条件に基づいて Keyword タイプのデータをクエリする場合は、データを書き込むときにデータを反転し、プレフィックスクエリを使用してデータをクエリできます。
API 操作
Search または ParallelScan 操作を呼び出し、クエリタイプを SuffixQuery に設定して、接尾辞クエリを実行できます。
パラメーター
パラメーター | 説明 |
query | クエリのタイプ。このパラメーターを SuffixQuery に設定します。 |
fieldName | 一致させるフィールドの名前。 |
suffix | 接尾辞。 |
getTotalCount | クエリ条件に一致する行の総数を返すかどうかを指定します。このパラメーターのデフォルト値は false で、クエリ条件に一致する行の総数は返されません。 このパラメーターを true に設定すると、クエリのパフォーマンスが低下します。 |
weight | BM25 ベースのキーワード関連性スコアを計算するために、クエリ対象のフィールドに割り当てる重み。このパラメーターは、全文検索シナリオで使用されます。クエリ対象のフィールドに高い重みを指定すると、そのフィールドの BM25 ベースのキーワード関連性スコアが高くなります。このパラメーターの値は、正の浮動小数点数です。 このパラメーターは、返される行数には影響しません。ただし、このパラメーターは、クエリ結果の BM25 ベースのキーワード関連性スコアに影響します。 |
tableName | データテーブルの名前。 |
indexName | 検索インデックスの名前。 |
columnsToGet | クエリ条件に一致する各行のすべてのカラムを返すかどうかを指定します。このパラメーターには、returnAll フィールドと columns フィールドを設定できます。 returnAll フィールドのデフォルト値は false で、すべてのカラムが返されるわけではないことを指定します。この場合、columns フィールドを使用して、返すカラムを指定できます。返すカラムを指定しない場合は、プライマリキーカラムのみが返されます。 returnAll フィールドを true に設定すると、すべてのカラムが返されます。 |
メソッド
Tablestore コンソールまたは Tablestore SDK を使用して、接尾辞クエリを実行できます。接尾辞クエリを実行する前に、以下の準備が整っていることを確認してください。
Resource Access Management (RAM) ユーザーが作成され、Tablestore で操作を実行するための権限が RAM ユーザーに付与されている。詳細については、「RAM ユーザーの AccessKey ペアを使用して Tablestore にアクセスする」をご参照ください。
データテーブルが作成されている。詳細については、「データテーブルの操作」をご参照ください。
データテーブルの検索インデックスが作成されている。詳細については、「検索インデックスを作成する」をご参照ください。
課金ルール
検索インデックスを使用してデータをクエリする場合、消費された読み取りスループットに対して課金されます。詳細については、「検索インデックスの課金対象項目」をご参照ください。
FAQ
関連情報
検索インデックスを使用してデータをクエリする場合、次のクエリメソッドを使用できます。 term クエリ、terms クエリ、完全一致クエリ、一致クエリ、フレーズ一致クエリ、プレフィックスクエリ、範囲クエリ、ワイルドカードクエリ、あいまいクエリ、ブールクエリ、ジオクエリ、ネストされたクエリ、KNN ベクタークエリ、exists クエリ。ビジネス要件に基づいてクエリメソッドを選択し、多次元からデータをクエリできます。
ソート機能とページング機能を使用して、クエリ条件に一致する行をソートまたはページングできます。詳細については、「ソートとページングを実行する」をご参照ください。
折りたたみ(重複排除)機能を使用して、特定のカラムに基づいて結果セットを折りたたむことができます。このようにして、指定されたタイプのデータはクエリ結果に1回だけ表示されます。詳細については、「折りたたみ(重複排除)」をご参照ください。
データテーブルのデータを分析する場合は、Search 操作の集約機能を使用するか、SQL 文を実行できます。たとえば、最小値、最大値、合計、行の総数などを取得できます。詳細については、「集約」および「SQL クエリ」をご参照ください。
行をソートする必要なく、クエリ条件に一致するすべての行を取得する場合は、ParallelScan 操作と ComputeSplits 操作を呼び出して、並列スキャン機能を使用できます。詳細については、「並列スキャン」をご参照ください。