このトピックでは、データテーブルのフィールドのデータの型と、対応する多次元インデックスの型とのマッピングについて説明します。また、さまざまなフィールドのデータの型でサポートされる追加のプロパティとクエリ機能についても説明します。
データ型のマッピング
検索インデックスのフィールドの値は、データテーブルの対応するフィールドの値から派生します。これらのフィールドのデータ型は一致する必要があります。次の表に、検索インデックスとデータテーブルのフィールドデータ型のマッピングを示します。
表内のデータの型は、1 対 1 でマッピングする必要があります。Geo-point 型と Nested 型には、特定のフォーマットも必要です。これらの要件が満たされない場合、データはダーティデータとして破棄されます。これにより、データがテーブルに存在していても、多次元インデックスでは見つからないという状況が発生する可能性があります。
検索インデックスのフィールドデータ型 | データテーブルのフィールドデータ型 | 説明 |
Long | Integer | 64 ビット long 整数。 |
Double | Double | 64 ビット倍精度浮動小数点数。 |
Boolean | Boolean | ブール値。 |
Keyword | String | トークン化できない文字列です。 |
FuzzyKeyword | String | 高性能なファジー検索をサポートする文字列です。 |
Text | String | |
Date | Integer, String | Date データ型は、日付データのさまざまなカスタムフォーマットをサポートします。 |
IP | String | IP タイプは、IPv4 および IPv6 フォーマットの IP アドレスに対応しています。 |
Geo-point | String | 点の座標情報です。フォーマットは |
Vector | String、Binary | ベクター型です。値は Float32 配列のフォーマットの文字列です。配列の長さはフィールドのディメンションと等しくなります。たとえば、ベクター文字列 |
String | ネスト型です。例: | |
String | JSON 型です。OBJECT 型と NESTED 型をサポートします。 |
フィールド属性のサポート
検索インデックスフィールドは、配列、仮想カラム、ハイライトなどの追加プロパティをサポートします。サポートされるプロパティはデータ型によって異なります。次の表に、適用可能なデータ型と各追加プロパティの説明を示します。
プロパティ | 適用可能なデータ型 | 説明 |
Array | Long、Double、Boolean、Keyword、Text、Date、IP、Geo-point | 同じタイプの一連のデータを保存するには、フィールドを配列型に設定します。 データを書き込むときは、 Nested、Vector、JSON 型は本質的に配列であるため、このプロパティを設定する必要はありません。 |
Virtual column | Long、Double、Keyword、FuzzyKeyword、Text、Date、IP、Geo-point、Vector | Tablestore のストレージ構造とデータを変更せずに、新しい型の新しいフィールドをクエリする場合は、フィールドを仮想カラムとして設定します。 |
Date format | Date | Date 型を使用する場合は、日付フォーマットを指定する必要があります。 |
Tokenization | Text | 全文検索を実装するには、フィールドにトークン化を設定します。 |
Summary and highlighting | Text | 全文検索でヒットした検索クエリをハイライトするには、フィールドのサマリーとハイライト機能を有効にします。 |
Vector configuration | Vector | Vector フィールドを使用する場合は、ベクターのメジャーアルゴリズムとディメンションを指定する必要があります。 |
JSON 型の構成 | JSON | JSON フィールドを使用する場合、JSON 型を指定します。Object 型と Nested 型がサポートされています。 |
クエリ機能のサポート
次の表に、各データ型で使用できるクエリ機能を示します。
「✓」は機能がサポートされていることを示します。「×」は機能がサポートされていないことを示します。
完全一致検索機能では、フィールドを設定する必要はありません。
クエリ機能 | Long | Double | Boolean | Keyword | FuzzyKeyword | Text | Date | IP | Geo-point | JSON Object | Nested/JSON Nested | Vector |
✓ | ✓ | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | × | × | |
✓ | ✓ | ✓ | ✓ | × | × | ✓ | × | × | ✓ | × | × | |
✓ | ✓ | ✓ | ✓ | × | × | ✓ | ✓ | × | ✓ | × | × | |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
× | × | × | ✓ | ✓ | × | × | × | × | ✓ | × | × | |
× | × | × | ✓ | ✓ | × | × | × | × | ✓ | × | × | |
× | × | × | × | ✓ | × | × | × | × | ✓ | × | × | |
× | × | × | × | × | ✓ | × | × | × | ✓ | × | × | |
× | × | × | × | × | × | × | × | ✓ | ✓ | × | × | |
× | × | × | × | × | × | × | × | × | × | ✓ | × | |
✓ | ✓ | × | ✓ | × | × | × | × | × | ✓ | × | × | |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | × | ✓ | ✓ | ✓ | ✓ | |
✓ | ✓ | ✓ | ✓ | × | ✓ | × | × | × | ✓ | × | × | |
✓ | ✓ | ✓ | ✓ | × | ✓ | × | × | × | ✓ | × | × | |
× | × | × | × | × | × | × | × | × | × | × | ✓ |