このトピックでは、検索インデックスのフィールドのタイプとデータテーブルのフィールドのタイプのマッピングについて説明します。また、検索インデックスのさまざまなタイプのフィールドでサポートされている追加の属性についても説明します。
検索インデックスのフィールドの値は、検索インデックスが作成されたデータテーブル内の同じ名前のフィールドの値です。2 つの値のデータ型は一致する必要があります。次の表に、一致ルールを示します。
検索インデックスのフィールドのデータ型は、次の表に示すマッピングに基づいて、データテーブル内の同じ名前のフィールドのデータ型と一致する必要があります。一致しない場合、Tablestore はデータをダーティデータとして破棄します。地理座標型とネスト型のフィールドの値が、次の表に示す形式に準拠していることを確認してください。データの形式が無効な場合、Tablestore はデータをダーティデータとして破棄します。この場合、データはデータテーブルで使用できますが、検索インデックスのクエリでは使用できません。
検索インデックスのフィールドデータ型 | データテーブルのフィールドデータ型 | 説明 |
Long | Integer | 64 ビット long 整数。 |
Double | Double | 64 ビット倍精度浮動小数点数。 |
Boolean | Boolean | ブール値。 |
Keyword | String | トークン化できない文字列。 |
FuzzyKeyword | String | 高性能あいまい検索をサポートする文字列。 |
Text | String | トークン化できる文字列またはテキスト。詳細については、トークン化を参照してください。 |
Date | Integer および String | 日付データ型。日付型のデータの形式を指定できます。詳細については、日付データ型を参照してください。 |
Geo-point | String | 地理的位置の座標ペア( |
Vector | String | ベクトル型。ベクトル型のフィールドの値は、Float32 配列形式の文字列です。配列の長さは、フィールドの次元数と同じです。たとえば、ベクトル文字列 |
String | ネスト型。例:[{"a": 1}, {"a": 3}]。 |
次の表に、検索インデックスのフィールドの追加属性を示します。
属性 | タイプ | 説明 |
IsArray | Boolean | フィールドの値が配列かどうかを指定します。 true の値は、フィールドの値が配列であることを指定します。フィールドに書き込まれるデータは JSON 配列である必要があります。例:["a","b","c"]。 ネストされたフィールドは配列であるため、ネストされたフィールドに IsArray 属性を指定する必要はありません。 配列型のデータは、配列はクエリに影響を与えないため、すべてのクエリで使用できます。 |
isVirtualField | Boolean | フィールドが仮想カラムかどうかを指定します。
|
次の表に、データ型とフィールド属性の組み合わせを示します。
タイプ | IsArray | isVirtualField |
Long | サポートされています | サポートされています |
Double | サポートされています | サポートされています |
Boolean | サポートされています | サポートされていません |
Keyword | サポートされています | サポートされています |
FuzzyKeyword | サポートされています | サポートされています |
Text | サポートされています | サポートされています |
Date | サポートされています | サポートされています |
Geo-point | サポートされています | サポートされています |
Vector | サポートされていません。ベクトルフィールドは配列です。 | サポートされています |
サポートされていません。ネストされたフィールドは配列です。 | サポートされていません |