O recurso ALIYUN::OTS::SearchIndex cria um índice de busca em uma tabela de dados. É possível criar vários índices de busca em uma única tabela.
Sintaxe
{
"Type": "ALIYUN::OTS::SearchIndex",
"Properties": {
"IndexName": String,
"InstanceName": String,
"TableName": String,
"FieldSchemas": List,
"IndexSort": Map,
"IndexSetting": Map
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
IndexName |
String |
Sim |
Não |
Nome do índice de busca. |
Nenhuma. |
|
InstanceName |
String |
Sim |
Não |
Instância que contém a tabela de dados. |
Nenhuma. |
|
TableName |
String |
Sim |
Não |
Nome da tabela de dados. |
Nenhuma. |
|
FieldSchemas |
List |
Sim |
Não |
Schemas dos campos. |
Nenhuma. |
|
IndexSort |
Map |
Não |
Não |
Configurações de pré-ordenação do índice de busca. Padrão: ordenação pela chave primária. |
Ignore a pré-ordenação para índices de busca com campos aninhados. Para mais informações, consulte Propriedade IndexSort. |
|
IndexSetting |
Map |
Não |
Não |
Configurações do índice de busca. |
Para mais informações, consulte Propriedade IndexSetting. |
Sintaxe de IndexSort
"IndexSort": {
"Sorters": List
}
Propriedade IndexSort
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Sorters |
List |
Sim |
Não |
Método de pré-ordenação. |
Métodos suportados: PrimaryKeySort e FieldSort. Para mais informações, consulte Ordenação e paginação e Propriedades de Sorters. |
Sintaxe de Sorters
"Sorters": [
{
"FieldSort": Map,
"PrimaryKeySort": Map,
"ScoreSort": Map,
"GeoDistanceSort": Map
}
]
Propriedades de Sorters
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
FieldSort |
Map |
Não |
Não |
Ordena dados pelo valor do campo. |
Para mais informações, consulte Propriedades de FieldSort. |
|
PrimaryKeySort |
Map |
Não |
Não |
Ordena dados pela chave primária. |
Para mais informações, consulte Propriedade PrimaryKeySort. |
|
ScoreSort |
Map |
Não |
Não |
Ordena dados pela pontuação de relevância de palavras-chave baseada em BM25. Adequado para cenários de busca de texto completo. |
Necessário para ordenar dados correspondentes pela pontuação de relevância. Sem o ScoreSort, os dados correspondentes seguem as configurações de pré-ordenação do IndexSort. Para mais informações, consulte Propriedade ScoreSort. |
|
GeoDistanceSort |
Map |
Não |
Não |
Ordena dados pela distância geográfica. |
Para mais informações, consulte Propriedades de GeoDistanceSort. |
Sintaxe de FieldSort
"FieldSort": {
"SortMode": String,
"SortOrder": String,
"FieldName": String
}
Propriedades de FieldSort
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
SortMode |
String |
Não |
Não |
Método de ordenação quando o campo tem múltiplos valores. |
Nenhuma. |
|
SortOrder |
String |
Não |
Não |
Ordem de classificação. |
Valores válidos:
|
|
FieldName |
String |
Sim |
Não |
Campo usado para ordenar dados. |
Nenhuma. |
Sintaxe de PrimaryKeySort
"PrimaryKeySort": {
"SortOrder": String
}
Propriedade PrimaryKeySort
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
SortOrder |
String |
Não |
Não |
Ordem de classificação. |
Valores válidos:
|
Sintaxe de ScoreSort
"ScoreSort": {
"SortOrder": String
}
Propriedade ScoreSort
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
SortOrder |
String |
Não |
Não |
Ordem de classificação. |
Valores válidos:
|
Sintaxe de GeoDistanceSort
"GeoDistanceSort": {
"Points": List,
"SortMode": String,
"SortOrder": String,
"FieldName": String
}
Propriedades de GeoDistanceSort
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Points |
List |
Sim |
Não |
Coordenadas que formam o polígono. |
Especifique as coordenadas no formato |
|
SortMode |
String |
Não |
Não |
Método de ordenação quando o campo tem múltiplos valores. |
Nenhuma. |
|
SortOrder |
String |
Não |
Não |
Ordem de classificação. |
Valores válidos:
|
|
FieldName |
String |
Sim |
Não |
Campo usado para ordenar dados. |
Nenhuma. |
Sintaxe de IndexSetting
"IndexSetting": {
"RoutingFields": List
}
Propriedade IndexSetting
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
RoutingFields |
List |
Não |
Não |
Campos de roteamento personalizados. |
Especifique colunas de chave primária como campos de roteamento. O Tablestore distribui dados gravados em um índice de busca entre partições com base nos valores dos campos de roteamento. Dados com os mesmos valores de campo de roteamento vão para a mesma partição. |
Sintaxe de FieldSchemas
"FieldSchemas": [
{
"Index": Boolean,
"IsArray": Boolean,
"Analyzer": String,
"EnableSortAndAgg": Boolean,
"Store": Boolean,
"SubFieldSchemas": List,
"FieldName": String,
"FieldType": String
}
]
Propriedades de FieldSchemas
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Index |
Boolean |
Não |
Não |
Indica se a indexação está ativada. |
Valores válidos:
|
|
IsArray |
Boolean |
Não |
Não |
Indica se o valor é um array. |
Valores válidos:
|
|
Analyzer |
String |
Não |
Não |
Tipo de analisador. |
Aplicável a campos de texto. Campos não textuais usam tokenização de palavra única por padrão. Para mais informações, consulte Tokenização. |
|
EnableSortAndAgg |
Boolean |
Não |
Não |
Indica se a ordenação e a agregação estão ativadas. |
Valores válidos:
|
|
Store |
Boolean |
Não |
Não |
Indica se o valor do campo deve ser armazenado no índice de busca. |
Valores válidos:
Se definido como true, o valor do campo pode ser lido diretamente do índice de busca sem consultar a tabela de dados, o que melhora o desempenho da consulta. |
|
SubFieldSchemas |
List |
Não |
Não |
Schemas dos subcampos. Necessário para configurar tipos de índice de subcampo em campos aninhados. |
Nenhuma. |
|
FieldName |
String |
Sim |
Não |
Nome do campo no índice de busca, também chamado nome da coluna. |
Pode ser uma coluna de chave primária ou uma coluna de atributo. |
|
FieldType |
String |
Sim |
Não |
Tipo de dados do campo. |
Use o formato FieldType.XXX. Valores válidos:
Para mais informações, consulte Tipos de dados. |
Sintaxe de SubFieldSchemas
"SubFieldSchemas": [
{
"Index": Boolean,
"IsArray": Boolean,
"Analyzer": String,
"EnableSortAndAgg": Boolean,
"Store": Boolean,
"FieldName": String,
"FieldType": String
}
]
Propriedades de SubFieldSchemas
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Index |
Boolean |
Não |
Não |
Indica se a indexação está ativada. |
Valores válidos:
|
|
IsArray |
Boolean |
Não |
Não |
Indica se o valor é um array. |
Valores válidos:
|
|
Analyzer |
String |
Não |
Não |
Tipo de analisador. |
Aplicável a campos de texto. Campos não textuais usam tokenização de palavra única por padrão. Para mais informações, consulte Tokenização. |
|
EnableSortAndAgg |
Boolean |
Não |
Não |
Indica se a ordenação e a agregação estão ativadas. |
Valores válidos:
|
|
Store |
Boolean |
Não |
Não |
Indica se o valor do campo deve ser armazenado no índice de busca. |
Valores válidos:
Se definido como true, o valor do campo pode ser lido diretamente do índice de busca sem consultar a tabela de dados, o que melhora o desempenho da consulta. |
|
FieldName |
String |
Sim |
Não |
Nome do campo no índice de busca, também chamado nome da coluna. |
Pode ser uma coluna de chave primária ou uma coluna de atributo. |
|
FieldType |
String |
Sim |
Não |
Tipo de dados do campo. |
Use o formato FieldType.XXX. Para mais informações, consulte Tipos de dados. |
Valores de retorno
Fn::GetAtt
IndexName: nome do índice de busca.
Exemplos
O modelo ots.yml usa os tipos de recurso ALIYUN::OTS::Instance, ALIYUN::OTS::SearchIndex, ALIYUN::OTS::Table e ALIYUN::OTS::VpcBinder.