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

Tablestore:複数値完全一致検索

最終更新日:Aug 08, 2026

Tablestore SDK for Go で複数値完全一致検索を使用して、複数の完全一致クエリ値のいずれかにマッチするデータを取得します。

前提条件

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

概要

複数値完全一致検索は、同一フィールドに対して複数の値を指定します。フィールドの値またはトークンが、クエリ値のいずれかと完全一致する場合、該当行はマッチします。これらの値は OR 演算子で結合され、トークン化されません。

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

次の例ではデータをクエリし、最大 10 行とマッチした行の総数を返します。

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

query := &search.TermsQuery{FieldName: "category", Terms: []interface{}{ "books", "music" }}
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)

パラメーター

クエリリクエスト

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

名前

説明

TableName (必須)

string

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

IndexName (必須)

string

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

SearchQuery (必須)

search.SearchQuery

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

ColumnsToGet (オプション)

*tablestore.ColumnsToGet

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

RoutingValues (オプション)

[]*tablestore.PrimaryKey

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

TimeoutMs (オプション)

*int32

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

クエリ構成

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

名前

説明

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.TermsQuery 型で、以下のパラメーターを含みます。

名前

説明

FieldName (必須)

string

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

Terms (必須)

[]interface{}

クエリ値です。これらの値は OR 演算子で結合されます。

返却列

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

名前

説明

Columns (オプション)

[]string

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

ReturnAll (オプション)

bool

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

ReturnAllFromIndex (オプション)

bool

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

応答

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

名前

説明

TotalCount

int64

マッチした行の総数です。この値は SetGetTotalCount の設定に依存します。

Rows

[]*tablestore.Row

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

SearchHits

[]*tablestore.SearchHit

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

NextToken

[]byte

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

IsAllSuccess

bool

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

AggregationResults

search.AggregationResults

集約結果です。

GroupByResults

search.GroupByResults

グループ化結果です。