ALIYUN::OTS::SearchIndex は、データテーブルの検索インデックスを作成するために使用されます。 1 つのデータテーブルに複数の検索インデックスを作成できます。
構文
{
"Type": "ALIYUN::OTS::SearchIndex",
"Properties": {
"IndexName": String,
"InstanceName": String,
"TableName": String,
"FieldSchemas": List,
"IndexSort": Map,
"IndexSetting": Map
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
IndexName | String | はい | いいえ | 検索インデックスの名前。 | なし。 |
InstanceName | String | はい | いいえ | データテーブルが属するインスタンスの名前。 | なし。 |
TableName | String | はい | いいえ | データテーブルの名前。 | なし。 |
FieldSchemas | List | はい | いいえ | フィールドスキーマのリスト。 | なし。 |
IndexSort | Map | いいえ | いいえ | 検索インデックスの事前ソート設定。デフォルトでは、データはプライマリキーでソートされます。 | ネストされたデータ型のフィールドを含む検索インデックスの事前ソート設定はスキップできます。 詳細については、IndexSort プロパティをご参照ください。 |
IndexSetting | Map | いいえ | いいえ | 検索インデックスの設定。 | 詳細については、IndexSetting プロパティをご参照ください。 |
IndexSort 構文
"IndexSort": {
"Sorters": List
}IndexSort プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Sorters | List | はい | いいえ | 事前ソート方法。 | PrimaryKeySort メソッドと FieldSort メソッドを使用できます。 詳細については、「ソートとページング」およびSorters プロパティをご参照ください。 |
Sorters 構文
"Sorters": [
{
"FieldSort": Map,
"PrimaryKeySort": Map,
"ScoreSort": Map,
"GeoDistanceSort": Map
}
]Sorters プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
FieldSort | Map | いいえ | いいえ | フィールド値でデータをソートすることを指定します。 | 詳細については、FieldSort プロパティをご参照ください。 |
PrimaryKeySort | Map | いいえ | いいえ | プライマリキーでデータをソートすることを指定します。 | 詳細については、PrimaryKeySort プロパティをご参照ください。 |
ScoreSort | Map | いいえ | いいえ | BM25 ベースのキーワード関連度スコアに基づいてデータをソートすることを指定します。 ScoreSort は、全文検索などの関連性シナリオに適しています。 | 一致するデータをキーワード関連度スコアでソートするには、ScoreSort を構成する必要があります。 そうしないと、一致するデータは、IndexSort で指定された事前ソート設定に基づいてソートされます。 詳細については、ScoreSort プロパティをご参照ください。 |
GeoDistanceSort | Map | いいえ | いいえ | 地理的な場所でデータをソートすることを指定します。 | 詳細については、GeoDistanceSort プロパティをご参照ください。 |
FieldSort 構文
"FieldSort": {
"SortMode": String,
"SortOrder": String,
"FieldName": String
}FieldSort プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
SortMode | String | いいえ | いいえ | フィールドに複数の値がある場合に使用されるソート方法。 | なし。 |
SortOrder | String | いいえ | いいえ | ソート順序。 | 有効な値:
|
FieldName | String | はい | いいえ | データをソートするために使用されるフィールドの名前。 | なし。 |
PrimaryKeySort 構文
"PrimaryKeySort": {
"SortOrder": String
}PrimaryKeySort プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
SortOrder | String | いいえ | いいえ | ソート順序。 | 有効な値:
|
ScoreSort 構文
"ScoreSort": {
"SortOrder": String
}ScoreSort プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
SortOrder | String | いいえ | いいえ | ソート順序。 | 有効な値:
|
GeoDistanceSort 構文
"GeoDistanceSort": {
"Points": List,
"SortMode": String,
"SortOrder": String,
"FieldName": String
}GeoDistanceSort プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Points | List | はい | いいえ | ポリゴンを構成する点の座標。 複数の座標を使用してポリゴンを指定できます。 |
|
SortMode | String | いいえ | いいえ | フィールドに複数の値がある場合に使用されるソート方法。 | なし。 |
SortOrder | String | いいえ | いいえ | ソート順序。 | 有効な値:
|
FieldName | String | はい | いいえ | データをソートするために使用されるフィールドの名前。 | なし。 |
IndexSetting 構文
"IndexSetting": {
"RoutingFields": List
}IndexSetting プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
RoutingFields | List | いいえ | いいえ | カスタムルーティングフィールド。 | いくつかのプライマリキー列をルーティングフィールドとして指定できます。 Tablestore は、指定されたルーティングフィールドに基づいて、検索インデックスに書き込まれたデータを異なるパーティションに分散します。 ルーティングフィールド値が同じデータは、同じパーティションに分散されます。 |
FieldSchemas 構文
"FieldSchemas": [
{
"Index": Boolean,
"IsArray": Boolean,
"Analyzer": String,
"EnableSortAndAgg": Boolean,
"Store": Boolean,
"SubFieldSchemas": List,
"FieldName": String,
"FieldType": String
}
]FieldSchemas プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Index | Boolean | いいえ | いいえ | インデックス作成を有効にするかどうかを指定します。 | 有効な値:
|
IsArray | Boolean | いいえ | いいえ | 値が配列かどうかを指定します。 | 有効な値:
|
Analyzer | String | いいえ | いいえ | アナライザーのタイプ。 | フィールドがテキストデータ型の場合、このプロパティを指定できます。 フィールドが別のデータ型の場合、デフォルトでは単一単語トークン化がアナライザータイプとして使用されます。 詳細については、「トークン化」をご参照ください。 |
EnableSortAndAgg | Boolean | いいえ | いいえ | ソートおよび集計機能を有効にするかどうかを指定します。 | 有効な値:
|
Store | Boolean | いいえ | いいえ | フィールドの値を検索インデックスに格納するかどうかを指定します。 | 有効な値:
Store を true に設定すると、データテーブルをクエリすることなく、検索インデックスからフィールドの値を読み取ることができます。 これにより、クエリのパフォーマンスが向上します。 |
SubFieldSchemas | List | いいえ | いいえ | サブフィールドのフィールドスキーマのリスト。 フィールドがネストされたデータ型の場合、このプロパティを指定して、ネストされたフィールド内のサブフィールドのインデックスタイプを構成する必要があります。 | なし。 |
FieldName | String | はい | いいえ | 検索インデックス内のフィールドの名前。 この名前は列名とも呼ばれます。 | 検索インデックスのフィールドは、プライマリキー列または属性列にすることができます。 |
FieldType | String | はい | いいえ | フィールドのデータ型。 | FieldType.XXX 形式でデータ型を指定します。 有効な値:
詳細については、「データ型」をご参照ください。 |
SubFieldSchemas 構文
"SubFieldSchemas": [
{
"Index": Boolean,
"IsArray": Boolean,
"Analyzer": String,
"EnableSortAndAgg": Boolean,
"Store": Boolean,
"FieldName": String,
"FieldType": String
}
]SubFieldSchemas プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Index | Boolean | いいえ | いいえ | インデックス作成を有効にするかどうかを指定します。 | 有効な値:
|
IsArray | Boolean | いいえ | いいえ | 値が配列かどうかを指定します。 | 有効な値:
|
Analyzer | String | いいえ | いいえ | アナライザーのタイプ。 | フィールドがテキストデータ型の場合、このプロパティを指定できます。 フィールドが別のデータ型の場合、デフォルトでは単一単語トークン化がアナライザータイプとして使用されます。 詳細については、「トークン化」をご参照ください。 |
EnableSortAndAgg | Boolean | いいえ | いいえ | ソートおよび集計機能を有効にするかどうかを指定します。 | 有効な値:
|
Store | Boolean | いいえ | いいえ | フィールドの値を検索インデックスに格納するかどうかを指定します。 | 有効な値:
Store を true に設定すると、データテーブルをクエリすることなく、検索インデックスからフィールドの値を読み取ることができます。 これにより、クエリのパフォーマンスが向上します。 |
FieldName | String | はい | いいえ | 検索インデックス内のフィールドの名前。 この名前は列名とも呼ばれます。 | 検索インデックスのフィールドは、プライマリキー列または属性列にすることができます。 |
FieldType | String | はい | いいえ | フィールドのデータ型。 | FieldType.XXX 形式でデータ型を指定します。 詳細については、「データ型」をご参照ください。 |
戻り値
Fn::GetAtt
IndexName:検索インデックスの名前。
例
その他の例については、ots.yml をご覧ください。 例では、ALIYUN::OTS::Instance、ALIYUN::OTS::SearchIndex、ALIYUN::OTS::Table、および ALIYUN::OTS::VpcBinder リソースタイプが使用されています。