Exists クエリは、NULL クエリまたは NULL 値クエリとも呼ばれます。このクエリはスパースデータにおいて、行の特定の列が存在するかどうかを判定するために使用されます。たとえば、address 列の値が空でない行をクエリできます。
-
Nested 列に対して Exists クエリを実行する場合は、ネストされたクエリを使用できます。
-
列に空の値が含まれているかどうかを確認するには、ExistsQuery を BoolQuery の mustNotQueries と組み合わせて使用する必要があります。
-
以下のいずれかの条件を満たす場合、システムは列が存在しないとみなします。ここでは city 列を例として説明します。
-
多次元インデックスにおける city 列の型が keyword などの基本型であり、データテーブルに city 列が存在しない行がある場合、多次元インデックスは city 列が存在しないとみなします。
-
検索インデックス内の city 列の型は、キーワードなどの基本型です。データテーブルで city 列の値が空の配列である行("city" = "[]")がある場合、検索インデックスは city 列が存在しないとみなします。
-
API オペレーション
Search または ParallelScan オペレーションを呼び出し、クエリタイプを ExistsQuery に設定することで、Exists クエリを実行できます。
パラメーター
|
パラメーター |
説明 |
|
fieldName |
クエリ対象の列名です。 |
|
query |
クエリタイプです。このパラメーターを ExistsQuery に設定します。 |
|
getTotalCount |
クエリ条件を満たす行の総数を返すかどうかを指定します。デフォルト値は false で、クエリ条件を満たす行の総数は返されません。 このパラメーターを true に設定すると、クエリのパフォーマンスが低下します。 |
|
tableName |
データテーブルの名前です。 |
|
indexName |
検索インデックスの名前です。 |
|
columnsToGet |
クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメーターでは、returnAll フィールドおよび columns フィールドを設定できます。 returnAll フィールドのデフォルト値は false で、すべての列が返されないことを意味します。この場合、columns フィールドを使用して返したい列を指定できます。返す列を指定しない場合、プライマリキー列のみが返されます。 returnAll フィールドを true に設定すると、すべての列が返されます。 |
方法
Tablestore コンソール、Tablestore CLI、または Tablestore SDK を使用して Exists クエリを実行できます。Exists クエリを実行する前に、以下の事前準備が完了していることを確認してください。
Table Store 操作に必要な権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用します。RAM ユーザーに権限を付与する方法については、「RAM ポリシーを使用した RAM ユーザーへの権限付与」をご参照ください。
SDK またはコマンドラインツールを使用する場合は、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey がまだない場合、AccessKey を作成してください。
データテーブルを作成済みです。
データテーブルに対して多次元インデックスが作成されています。
SDK を使用する場合は、Tablestore Client を初期化してください。
コマンドラインツールを使用する場合は、ツールをダウンロードして起動し、ご利用のインスタンスへの接続を設定して対象のテーブルを選択します。詳細については、「コマンドラインツールのダウンロード」、「ツールの起動と接続情報の設定」、および「データテーブル操作」をご参照ください。
課金
多次元インデックスを使用したデータのクエリは、読み取りスループットを消費します。詳細については、「多次元インデックスのメータリングと課金」をご参照ください。
よくある質問
関連ドキュメント
多次元インデックスは、多様なクエリタイプをサポートしており、多次元データクエリが可能です。サポートされるクエリタイプには、完全一致検索、複数値完全一致検索、完全一致検索、一致検索、フレーズ一致検索、範囲クエリ、プレフィックス検索、サフィックス検索、ワイルドカード検索、トークンベースのワイルドカード検索、ブール検索、ジオクエリ、ネストされたクエリ、ベクトル検索、および Exists クエリ が含まれます。
データをクエリする際には、結果セットをソートおよびページネーションしたり、重複排除(重複除去)を実行したりできます。
最大値や最小値の検索、合計の計算、行数のカウントなどのデータ分析を行うには、統計集約機能または SQL クエリ機能を使用できます。
結果セットの順序を問わずデータを高速にエクスポートするには、Parallel Scan 機能を使用できます。