検索インデックスを作成する前に、検索インデックスでサポートされているデータ型を理解する必要があります。また、検索インデックスでサポートされているデータ型と、検索インデックスが作成されるデータテーブルでサポートされているデータ型の間のマッピングも理解する必要があります。
サポートされているデータ型
検索インデックスは、Long、Double、Boolean、Keyword、Text、Date、Geopoint の基本データ型、Array および Nested の特殊データ型、そして仮想カラムをサポートしています。
基本データ型
検索インデックスは、Long、Double、Boolean、Keyword、Text、Date、Geopoint の基本データ型をサポートしています。次の表は、基本データ型について説明しています。
基本データ型 | 説明 |
Long | 64 ビット長整数。 |
Double | 64 ビット倍精度浮動小数点数。 |
Boolean | ブール値。 |
Keyword | トークン化できない文字列。 |
Text | トークン化できる文字列またはテキスト。詳細については、トークン化を参照してください。 |
Date | 日付データ型。日付型のデータの形式を指定できます。詳細については、日付データ型を参照してください。 |
Geopoint |
|
Array 型と Nested 型
Long、Double、Boolean、Keyword、Text、Date、Geopoint などの基本データ型に加えて、検索インデックスは 2 つの特殊データ型、Array と Nested をサポートしています。Array データ型は、同じ型のデータのコレクションを格納するのに適しています。Nested データ型は JSON データ型に似ており、階層構造を持つデータを格納するのに適しています。詳細については、Array 型と Nested 型を参照してください。
Array 型
Nested 型
仮想カラム
検索インデックスの仮想カラム機能を使用すると、Tablestore テーブルのストレージスキーマとデータを変更することなく、新しいフィールドと新しいフィールド型のデータをクエリできます。詳細については、仮想カラムを参照してください。
テーブルの同じフィールドにマッピングされている Text フィールドに異なるトークン化方法を設定できます。
1 つの String カラムを検索インデックスの複数の Text カラムにマッピングできます。異なる Text カラムは、さまざまなビジネス要件を満たすために異なるトークン化方法を使用します。
クエリの高速化
データをクレンジしたり、テーブルスキーマを再作成したりする必要はありません。テーブルの必要なカラムを検索インデックスのカラムにマッピングするだけで済みます。カラム型は、テーブルと検索インデックスで異なる場合があります。たとえば、数値型を Keyword 型にマッピングして用語クエリの パフォーマンスを向上させ、String 型を数値型にマッピングして範囲クエリの パフォーマンスを向上させることができます。
データ型のマッピング
検索インデックスのフィールドの値は、検索インデックスが作成されるデータテーブル内の同じ名前のフィールドの値です。2 つの値のデータ型は一致している必要があります。次の表は、一致ルールについて説明しています。
検索インデックスのフィールドデータ型 | データテーブルのフィールドデータ型 |
Long | Integer |
Long Array | String |
Double | Double |
Double Array | String |
Boolean | Boolean |
Boolean Array | String |
Keyword | String |
Keyword Array | String |
Date | Integer および String |
Date Array | String |
Geopoint | String |
Geopoint Array | String |
Text | String |
Nested | String |