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

Tablestore:match クエリ

最終更新日:Aug 12, 2026

Tablestore SDK for Go の match クエリを使用してクエリテキストをトークン化し、テキストフィールド内のトークンを一致させます。

前提条件

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

説明

match クエリは、インデックスフィールドに設定されたアナライザーを使用してクエリテキストをトークン化し、演算子と MinShouldMatch に基づいてトークンを結合します。このクエリは、テキストフィールドに対する全文検索に使用します。

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

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

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

query := &search.MatchQuery{FieldName: "title", Text: "go search", Operator: search.QueryOperator_OR.Enum()}
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

テキストフィールドのサマリーとハイライトを設定します。詳細については、「サマリーとハイライト」をご参照ください。

SetCollapse (任意)

*search.Collapse

クエリ結果を集約します。詳細については、「クエリ結果を集約する」をご参照ください。

SetSort (任意)

*search.Sort

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

SetGetTotalCount (任意)

bool

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

SetToken (任意)

[]byte

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

SetSearchFilter (任意)

*search.SearchFilter

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

Aggregation (任意)

...search.Aggregation

集計を設定します。詳細については、「集計」をご参照ください。

GroupBy (任意)

...search.GroupBy

グルーピングを設定します。詳細については、「集計」をご参照ください。

クエリ条件

クエリは search.MatchQuery 型で、次のパラメータが含まれます。

名前

タイプ

説明

FieldName (必須)

string

クエリ対象のテキストフィールド名。

Text (必須)

string

クエリテキスト。フィールドに設定されたアナライザーを使用してトークン化されます。

Operator (任意)

*search.QueryOperator

トークン間の論理演算子。有効な値:QueryOperator_ANDQueryOperator_OR。デフォルト値:QueryOperator_OR

MinShouldMatch (任意)

*string

275% など、一致が必要なトークンの最小数または最小割合。QueryOperator_OR と併用します。

Weight (任意)

*float32

クエリ条件の関連性の重み。

返される列

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

検索ヒット。ハイライト、ネストされた内部ヒット、または関連度スコアを使用する場合は、このフィールドを読み取ってください。

NextToken

[]byte

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

IsAllSuccess

bool

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

AggregationResults

search.AggregationResults

集約結果。

GroupByResults

search.GroupByResults

グループ化結果。