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

Tablestore:文字列の型

最終更新日:Apr 30, 2026

検索インデックスは、文字列関連のデータの型として Keyword、FuzzyKeyword、および Text の 3 種類をサポートしています。クエリ要件に基づいて適切な型を選択してください。

背景情報

Tablestore のデータテーブルでは、主な文字列型は String です。これは C++ や Java の文字列型と同等です。多次元インデックスでは、この単一の型を 3 つの専用バリエーションに細分化し、異なるクエリパターンをサポートします。

最適な用途

Keyword

完全一致検索、範囲クエリ、ソート、集約

FuzzyKeyword

任意のデータセットサイズにおいて、高性能なワイルドカード検索、プレフィックス検索、サフィックス検索

Text

形態素解析と関連スコアに基づく全文検索

型マッピング

データテーブルの String 型は、多次元インデックスでは Keyword、FuzzyKeyword、または Text のいずれかに直接マッピングされます。仮想カラム機能を使用すると、Integer 型または Double 型もこれらの 3 つの文字列型のいずれかにマッピングできます。

テーブル内のデータの型

方法

多次元インデックス内のデータの型

String

直接使用

Keyword

FuzzyKeyword

Text

Integer

仮想カラム

Keyword

FuzzyKeyword

Text

Double

仮想カラム

Keyword

FuzzyKeyword

Text

データの型

Keyword

Keyword は文字列を分割不能な単一の値として扱います。これはリレーショナルデータベースの文字列フィールドと同様です。完全一致検索、複数値完全一致検索、範囲クエリ、ワイルドカード検索、プレフィックス検索、および exists クエリ(null 値クエリ)をサポートします。また、ソートや統計集約(GroupBy を含む)も可能です。

Keyword の適切な使用例:ユーザー ID、状態コード、メールアドレス、国別コードなど、完全一致での検索や集約が必要なフィールドです。

100 万件を超えるデータセットでは、データセットのサイズが増加するにつれてワイルドカード検索およびプレフィックス検索のパフォーマンスが低下します。大規模データセットで高性能なあいまい一致が必要な場合は、FuzzyKeyword を使用してください。

Text

Text は全文検索向けに設計されています。インデックス作成前に、システムは設定された形態素解析方法を使用して文字列をトークンに分割し、各トークンを個別にインデックス化します。クエリ実行時にも、クエリ文字列に対して同じ形態素解析が適用され、インデックスと照合されます。

Text は元の値ではなくトークンをインデックス化するため、関連スコア、結果のハイライトおよびまとめ、一致検索、フレーズ一致検索をサポートします。一方で、完全一致検索、ソート、集約はサポートしていません。

Text の適切な使用例:商品説明、記事本文、ユーザーレビューなど、長い文字列内から単語やフレーズを検索する必要があるフィールドです。

利用可能な形態素解析方法については、「形態素解析」をご参照ください。

FuzzyKeyword

FuzzyKeyword はワイルドカード検索、プレフィックス検索、サフィックス検索に最適化されています。各フィールド値の部分文字列を事前にインデックスに格納するため、クエリは行単位で値をスキャンするのではなく、コンパクトなインデックス構造をスキャンします。これにより、データセットのサイズに関係なく、ワイルドカード検索およびプレフィックス検索のパフォーマンスが常に高速に保たれます。

FuzzyKeyword の適切な使用例:ログメッセージ、ファイルパス、商品 SKU など、ユーザーが部分文字列を入力して検索するフィールドです。

サフィックス検索には、FuzzyKeyword 型で SuffixQuery を使用してください。代替手段として、データを反転させて Keyword フィールド上で PrefixQuery を実行することも可能ですが、パフォーマンスは劣ります。

説明
  • FuzzyKeyword フィールドはソートや統計集約をサポートしていません。FuzzyKeyword フィールドをソートまたは集約する必要がある場合は、仮想カラム機能を使用して Keyword 型にマッピングしてください。

  • あるフィールドで完全一致検索、高性能なあいまい検索、全文検索など複数のクエリ機能が必要な場合は、仮想カラム機能を使用して、1 つのテーブルカラムをそれぞれ Keyword、Text、FuzzyKeyword 型の 3 つの多次元インデックスカラムにマッピングしてください。詳細については、「仮想カラム」をご参照ください。

型の比較

3 種類の文字列型は、サポートされるクエリ機能とフィールドの最大長が異なります。

説明

チェックマーク (✓) は機能がサポートされていることを示します。バツ印 (×) は機能がサポートされていないことを示します。

機能

Keyword

FuzzyKeyword

Text

完全一致検索

×

×

用語クエリ

×

×

範囲クエリ

×

×

Exists クエリ (null 値クエリ)

ソート

×

×

統計集約

×

×

全文検索:形態素解析

×

×

全文検索:関連スコア

×

×

全文検索:ハイライトおよびまとめ

×

×

全文検索:一致検索

×

×

全文検索:フレーズ一致検索

×

×

ワイルドカード検索

✓ (大規模データセットではパフォーマンスが低下)

✓ (高性能)

×

プレフィックス検索

✓ (大規模データセットではパフォーマンスが低下)

✓ (高性能)

×

サフィックス検索

×

×

最大長

4 KB

2 KB

2 MB