すべてのプロダクト
Search
ドキュメントセンター

Tablestore:範囲クエリ

最終更新日:Aug 08, 2026

Tablestore SDK for Go で検索インデックスの範囲クエリを使用して、指定された範囲内の値に一致させます。

前提条件

Tablestore Go SDK をインストールし、クライアントを初期化します。

概要

多次元インデックスの範囲クエリは、指定された範囲内のフィールド値に一致するデータを検索します。下限および上限が範囲に含まれるかどうかを指定できます。値の比較は、インデックスフィールドの型に基づいて行われます。

func (client *tablestore.TableStoreClient) Search(request *tablestore.SearchRequest) (*tablestore.SearchResponse, error)

以下の例では、データをクエリして最大 10 行と一致した行の総数を返します。

tableName := "example_table"
indexName := "example_index"

query := &search.RangeQuery{FieldName: "price", From: int64(100), To: int64(500), IncludeLower: true, IncludeUpper: false}
searchQuery := search.NewSearchQuery().
    SetQuery(query).
    SetLimit(10).
    SetGetTotalCount(true)

response, err := client.Search(&tablestore.SearchRequest{
    TableName:   tableName,
    IndexName:   indexName,
    SearchQuery: searchQuery,
    ColumnsToGet: &tablestore.ColumnsToGet{
        ReturnAllFromIndex: true,
    },
})
if err != nil {
    log.Fatal(err)
}

fmt.Println(response.TotalCount)
fmt.Println(response.Rows)

パラメーター

クエリリクエスト

request は tablestore.SearchRequest 型で、以下のパラメーターを含みます。

Name

Type

Description

TableName (必須)

string

データテーブルの名前です。

IndexName (必須)

string

検索インデックスの名前。

SearchQuery (必須)

search.SearchQuery

クエリ条件および一般的なクエリ構成です。

ColumnsToGet (オプション)

*tablestore.ColumnsToGet

返却列の構成です。このパラメーターを省略すると、プライマリキー列のみが返されます。

RoutingValues (オプション)

[]*tablestore.PrimaryKey

カスタムルーティングフィールドのプライマリキー値です。カスタムルーティングが設定されていない場合は、このパラメーターを省略してください。

TimeoutMs (オプション)

*int32

リクエストのタイムアウト期間(ミリ秒単位)です。

クエリ構成

search.NewSearchQuery() を呼び出してクエリ構成を作成し、以下のメソッドを使用して構成します。

Name

Type

Description

SetQuery (必須)

search.Query

クエリ条件を指定します。

SetOffset (オプション)

int32

開始位置を指定します。デフォルト値は 0 です。オフセットベースのページネーションでは、Offset + Limit の合計が 100,000 を超えてはなりません。

SetLimit (オプション)

int32

返却する最大行数を指定します。デフォルト値は 10、最大値は 100 です。0 を指定すると、行は返されません。

SetHighlight (オプション)

*search.Highlight

Text フィールドのサマリーおよびハイライトを構成します。詳細については、「サマリーおよびハイライト」をご参照ください。

SetCollapse (オプション)

*search.Collapse

クエリ結果を折りたたみます。詳細については、「クエリ結果の折りたたみ」をご参照ください。

SetSort (オプション)

*search.Sort

結果のソート順を指定します。詳細については、「結果のソートとページネーション」をご参照ください。

SetGetTotalCount (オプション)

bool

一致したすべての行をカウントするかどうかを指定します。デフォルト値は false です。

SetToken (オプション)

[]byte

前回の応答で返された NextToken 値を指定します。トークンには前ページのソート条件が含まれているため、このメソッドは Sort をクリアします。トークンベースのページネーションを使用する場合は、Offset を指定しないでください。

SetSearchFilter (オプション)

*search.SearchFilter

クエリ後のフィルターを適用します。詳細については、「クエリ後のフィルターの使用」をご参照ください。

Aggregation (オプション)

...search.Aggregation

集約を構成します。詳細については、「集約」をご参照ください。

GroupBy (オプション)

...search.GroupBy

グループ化を構成します。詳細については、「集約」をご参照ください。

クエリ条件

クエリは search.RangeQuery 型で、以下のパラメーターを含みます。

Name

Type

Description

FieldName (必須)

string

クエリ対象のインデックスフィールド名です。

From (オプション)

interface{}

下限値です。From および To のいずれか一方は必ず指定する必要があります。

排他的な下限を設定するには GT(value) を、包含的な下限を設定するには GTE(value) を呼び出します。

To (オプション)

interface{}

上限値です。From および To のいずれか一方は必ず指定する必要があります。

排他的な上限を設定するには LT(value) を、包含的な上限を設定するには LTE(value) を呼び出します。

IncludeLower (オプション)

bool

下限値を範囲に含めるかどうかを指定します。デフォルト値は false です。

IncludeUpper (オプション)

bool

上限値を範囲に含めるかどうかを指定します。デフォルト値は false です。

返却列

request.ColumnsToGet は tablestore.ColumnsToGet 型で、以下のパラメーターを含みます。

Name

Type

Description

Columns (オプション)

[]string

返却する属性列です。このパラメーターは、ReturnAll および ReturnAllFromIndex の両方が false の場合にのみ有効です。

ReturnAll (オプション)

bool

データテーブル内のすべての属性列を返すかどうかを指定します。デフォルト値は false です。

ReturnAllFromIndex (オプション)

bool

インデックスされたすべての属性列を返すかどうかを指定します。デフォルト値は false です。このパラメーターと ReturnAll を同時に true に設定しないでください。

応答

Search メソッドは tablestore.SearchResponse 値を返します。以下の表は、主要なビジネスフィールドについて説明しています。

Name

Type

Description

TotalCount

int64

一致した行の総数です。この値は SetGetTotalCount の設定に依存します。

Rows

[]*tablestore.Row

現在のクエリで返された行です。行数は SetLimit で指定された値を超えることはありません。

SearchHits

[]*tablestore.SearchHit

検索ヒットです。ハイライト、ネストされた inner hits、または関連スコアを使用する場合は、このフィールドを読み取ります。

NextToken

[]byte

次のページ用のトークンです。値が空でない場合は、次のクエリに渡してください。

IsAllSuccess

bool

すべてのインデックスパーティションがクエリされたかどうかを示します。false の場合、部分的な結果が返され、TotalCount が実際の一致行数より少なくなる可能性があります。

AggregationResults

search.AggregationResults

集約結果です。

GroupByResults

search.GroupByResults

グループ化結果です。