ALIYUN::OTS::SearchIndex類型用於在資料表上建立一個多元索引。一個資料表可以建立多個多元索引。
文法
{
"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 | 否 | 否 | 索引預排序設定。預設按照主鍵排序。 | 含有Nested類型的索引不支援IndexSort,沒有預排序。 更多資訊,請參見IndexSort屬性。 |
IndexSetting | Map | 否 | 否 | 索引設定。 | 更多資訊,請參見IndexSetting屬性。 |
IndexSort文法
"IndexSort": {
"Sorters": List
}
IndexSort屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Sorters | List | 是 | 否 | 索引的預排序方式。 | 支援按照主鍵排序和欄位值排序。 |
Sorters文法
"Sorters": [
{
"FieldSort": Map,
"PrimaryKeySort": Map,
"ScoreSort": Map,
"GeoDistanceSort": Map
}
]
Sorters屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
FieldSort | Map | 否 | 否 | 按照欄位值排序。 | 更多資訊,請參見FieldSort屬性。 |
PrimaryKeySort | Map | 否 | 否 | 按照主鍵排序。 | 更多資訊,請參見PrimaryKeySort屬性。 |
ScoreSort | Map | 否 | 否 | 按照查詢結果的相關性(BM25演算法)分數進行排序,適用於有相關性的情境,例如:全文檢索索引等。 | 如果需要按照相關性打分進行排序,必須手動設定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 | 否 | 否 | 自訂路由欄位。 | 您可以選擇部分主鍵列作為路由欄位,在進行索引資料寫入時,會根據路由欄位的值計算索引資料的分布位置,路由欄位的值相同的記錄會被索引到相同的資料分區中。 |
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 | 否 | 否 | 分詞器類型。 | 當欄位類型為Text時,可以設定此參數;否則,則預設分詞器類型為單字分詞。 更多資訊,請參見分詞。 |
EnableSortAndAgg | Boolean | 否 | 否 | 是否開啟排序與統計彙總功能。 | 取值:
|
Store | Boolean | 否 | 否 | 是否在多元索引中附加儲存該欄位的值。 | 取值:
開啟後,可以直接從多元索引中讀取該欄位的值,而不必反查資料表,可用於查詢效能最佳化。 |
SubFieldSchemas | List | 否 | 否 | 當欄位類型為Nested類型時,需要通過此參數設定嵌套文檔中子列的索引類型。 | 無 |
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 | 否 | 否 | 分詞器類型。 | 當欄位類型為Text時,可以設定此參數;否則,則預設分詞器類型為單字分詞。 更多資訊,請參見分詞。 |
EnableSortAndAgg | Boolean | 否 | 否 | 是否開啟排序與統計彙總功能。 | 取值:
|
Store | Boolean | 否 | 否 | 是否在多元索引中附加儲存該欄位的值。 | 取值:
開啟後,可以直接從多元索引中讀取該欄位的值,而不必反查資料表,可用於查詢效能最佳化。 |
FieldName | String | 是 | 否 | 建立多元索引的欄位名,即列名。 | 多元索引中的欄位可以是主鍵列或者屬性列。 |
FieldType | String | 是 | 否 | 欄位類型。 | 取值為FieldType.XXX。 更多資訊,請參見資料類型映射。 |
傳回值
Fn::GetAtt
IndexName:多元索引名稱。
樣本
更多樣本,請參見建立Table Store執行個體、在資料表上建立一個多元索引、建立表和將Table Store執行個體綁定VPC的組合樣本:YAML樣本。