クエリの結果に特定の種類の大量のデータが含まれている場合、折りたたみ(重複排除)機能を使用して、指定した列に基づいて結果セットを折りたたむことができます。特定の種類のデータは、結果の種類の多様性を確保するために、クエリ結果に一度だけ表示されます。
ほとんどのシナリオでは、折りたたみ(重複排除)機能を使用して、折りたたまれた列に基づいて個別の値を取得できます。ただし、この機能は、値がINTEGER、FLOATING-POINT、またはKEYWORDタイプの列に対してのみサポートされています。上位100,000件の結果のみが返されます。
使用上の注意
折りたたみ(重複排除)機能を使用する場合、offsetパラメーターとlimitパラメーターを指定することによってのみページネーションを実行できます。
結果セットを集計し、同時に折りたたむ場合、結果セットは折りたたまれる前に集計されます。
クエリの結果を折りたたむ場合、返される結果の総数は、offsetパラメーターとlimitパラメーターの値の合計によって決まります。最大100,000件の結果を返すことができます。
レスポンスの行の総数は、折りたたみ(重複排除)機能を使用する前にクエリ条件を満たす行の数を示します。結果セットが折りたたまれた後、個別の値の総数をクエリすることはできません。
API操作
パラメーター
パラメーター | 説明 |
query | クエリタイプ。このパラメーターは任意のクエリタイプに設定できます。 |
collapse | fieldNameフィールドで指定された列に基づいて結果セットを折りたたみます。 fieldName:結果セットの折りたたみの基準となる列の名前。値がINTEGER、FLOATING-POINT、またはKEYWORDタイプの列のみがサポートされています。 |
offset | 現在のクエリが開始される位置。 |
limit | 現在のクエリで返される最大行数。 特定のデータなしでクエリ条件を満たす行数のみをクエリするには、limitパラメーターを0に設定します。 |
getTotalCount | クエリ条件を満たす行の総数を返すかどうかを指定します。このパラメーターのデフォルト値はfalseで、クエリ条件を満たす行の総数は返されません。 このパラメーターをtrueに設定すると、クエリのパフォーマンスが低下します。 |
tableName | データテーブルの名前。 |
indexName | 検索インデックスの名前。 |
columnsToGet | クエリ条件を満たす各行のすべての列を返すかどうかを指定します。このパラメーターには、returnAllフィールドとcolumnsフィールドを指定できます。 returnAllフィールドのデフォルト値はfalseで、すべての列が返されないことを指定します。この場合、columnsフィールドを使用して、返す列を指定できます。返す列を指定しない場合は、主キー列のみが返されます。 returnAllフィールドをtrueに設定すると、すべての列が返されます。 |
メソッド
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操作を呼び出して並列スキャン機能を使用できます。詳細については、並列スキャンを参照してください。