用語クエリを使用して、フィールドの指定された値と完全に一致するデータをクエリできます。用語クエリは、文字列一致条件に基づくクエリに似ています。列のタイプが TEXT の場合、Tablestore は文字列をトークン化し、トークンを使用してキーワードを照合します。行内のトークンの少なくとも 1 つがキーワードと完全に一致する場合、行はクエリ条件を満たします。列の値の照合に使用されるキーワードはトークン化されません。
API オペレーション
Search または ParallelScan オペレーションを呼び出し、クエリタイプを TermQuery に設定して、用語クエリを実行できます。
パラメータ
パラメータ | 説明 |
query | クエリのタイプ。このパラメータを TermQuery に設定します。 |
fieldName | クエリする列の名前。 |
term | 用語クエリを実行するときに、列の値の照合に使用されるキーワード。この単語はトークン化されません。代わりに、単語全体が列値の照合に使用されます。 列のタイプが TEXT の場合、Tablestore は文字列をトークン化し、トークンを使用してキーワードを照合します。行内のトークンの少なくとも 1 つがキーワードと完全に一致する場合、行はクエリ条件を満たします。たとえば、行の TEXT タイプの列の値が "tablestore is cool" の場合、値は "tablestore"、"is"、および "cool" にトークン化できます。列の値を照合するキーワードとして "tablestore"、"is"、または "cool" を指定すると、行はクエリ条件を満たします。 |
getTotalCount | クエリ条件を満たす行の総数を返すかどうかを指定します。このパラメータのデフォルト値は false で、クエリ条件を満たす行の総数は返されません。 このパラメータを true に設定すると、クエリのパフォーマンスが低下します。 |
weight | BM25 ベースのキーワード関連性スコアを計算するために、クエリする列に割り当てる重み。このパラメータは、全文検索シナリオで使用されます。クエリする列に高い重みを指定すると、行の BM25 ベースのキーワード関連性スコアが高くなります。このパラメータの値は正の浮動小数点数です。 このパラメータは、返される行の数には影響しません。ただし、このパラメータは、クエリ結果の BM25 ベースのキーワード関連性スコアに影響します。 |
tableName | データテーブルの名前。 |
indexName | 検索インデックスの名前。 |
columnsToGet | クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメータには、returnAll フィールドと columns フィールドを指定できます。 returnAll フィールドのデフォルト値は false で、すべての列が返されるわけではないことを示します。この場合、columns フィールドを使用して、返す列を指定できます。返す列を指定しない場合は、主キー列のみが返されます。 returnAll フィールドを true に設定すると、すべての列が返されます。 |
メソッド
Tablestore コンソール、Tablestore CLI、または Tablestore SDK を使用して、一致クエリを実行できます。完全一致クエリを実行する前に、次の準備が整っていることを確認してください。
Tablestore で操作を実行する権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを持っていること。RAM ユーザーに Tablestore 操作権限を付与する方法については、RAM ポリシーを使用して RAM ユーザーに権限を付与する を参照してください。
Tablestore SDK または Tablestore CLI を使用してクエリを実行する場合、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ペアが作成されます。詳細については、AccessKey ペアを作成する を参照してください。
データテーブルが作成されていること。詳細については、テーブルの操作 を参照してください。
データテーブルの検索インデックスが作成されていること。詳細については、検索インデックスを作成する を参照してください。
Tablestore SDK を使用してクエリを実行する場合、OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化する を参照してください。
Tablestore CLI を使用してクエリを実行する場合、Tablestore CLI がダウンロードされて起動され、アクセスするインスタンスとデータテーブルに関する情報が構成されていること。詳細については、Tablestore CLI をダウンロードする、Tablestore CLI を起動し、アクセス情報を構成する、および データテーブルの操作 を参照してください。
課金ルール
検索インデックスを使用してデータをクエリする場合、消費された読み取りスループットに対して課金されます。詳細については、検索インデックスの課金対象項目 を参照してください。
FAQ
参考資料
検索インデックスを使用してデータをクエリする場合、次のクエリメソッドを使用できます。用語クエリ、複数用語クエリ、すべて一致クエリ、一致クエリ、フレーズ一致クエリ、プレフィックスクエリ、範囲クエリ、ワイルドカードクエリ、あいまいクエリ、ブールクエリ、地理クエリ、ネストされたクエリ、KNNベクトル検索、存在クエリ。ビジネス要件に基づいてクエリメソッドを選択し、複数のディメンションからデータをクエリできます。
並べ替え機能とページング機能を使用して、クエリ条件を満たす行を並べ替えたりページ分割したりできます。詳細については、並べ替えとページングの実行 を参照してください。
折りたたみ (個別) 機能を使用して、特定の列に基づいて結果セットを折りたたむことができます。これにより、指定されたタイプのデータはクエリ結果に一度だけ表示されます。詳細については、折りたたみ (個別) を参照してください。
データテーブルのデータを分析する場合は、Search オペレーションの集計機能を使用するか、SQL ステートメントを実行できます。たとえば、最小値、最大値、合計、行の総数などを取得できます。詳細については、集計 および SQL クエリ を参照してください。
行を並べ替えることなく、クエリ条件を満たすすべての行を取得する場合は、ParallelScan オペレーションと ComputeSplits オペレーションを呼び出して、並列スキャン機能を使用できます。詳細については、並列スキャン を参照してください。