Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::OTS::SearchIndex

Última atualização: Jun 27, 2026

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:

  • ASC (padrão): ordem crescente

  • DESC: ordem decrescente

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:

  • ASC (padrão): ordem crescente

  • DESC: ordem decrescente

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:

  • ASC (padrão): ordem crescente

  • DESC: ordem decrescente

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 latitude,longitude. Valores válidos de latitude: [-90,+90]. Valores válidos de longitude: [-180,+180]. Exemplo de valor para Points: 35,8,-45,91.

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:

  • ASC (padrão): ordem crescente

  • DESC: ordem decrescente

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:

  • true

  • false

IsArray

Boolean

Não

Não

Indica se o valor é um array.

Valores válidos:

  • true

  • false

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:

  • true

  • false

Store

Boolean

Não

Não

Indica se o valor do campo deve ser armazenado no índice de busca.

Valores válidos:

  • true

  • false

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:

  • FieldType.LONG

  • FieldType.DOUBLE

  • FieldType.BOOLEAN

  • FieldType.KEYWORD

  • FieldType.GEOPOINT

  • FieldType.NESTED

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:

  • true

  • false

IsArray

Boolean

Não

Não

Indica se o valor é um array.

Valores válidos:

  • true

  • false

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:

  • true

  • false

Store

Boolean

Não

Não

Indica se o valor do campo deve ser armazenado no índice de busca.

Valores válidos:

  • true

  • false

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

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  InstanceName:
    Type: String
    Description: The name of the OTS instance in which table will locate.
    AllowedPattern: '[a-zA-Z][-a-zA-Z0-9]{1.14}[a-zA-Z0-9]'
    Default: mytest
  TableName:
    Type: String
    Description: The table name of the OTS instance.
    AllowedPattern: '[_a-zA-Z][_a-zA-Z0-9]{0.254}'
    Default: mytest
  SearchIndexName:
    Type: String
    Description: The index name.
    Default: searchIndex
  FieldSchemas:
    Type: Json
    Default:
      - FieldName: id
        FieldType: FieldType.LONG
        IsArray: false
        Index: true
        EnableSortAndAgg: true
        Store: true
Resources:
  SearchIndex:
    Type: ALIYUN::OTS::SearchIndex
    Properties:
      IndexName:
        Ref: SearchIndexName
      InstanceName:
        Ref: InstanceName
      TableName:
        Ref: TableName
      FieldSchemas:
        Ref: FieldSchemas
Outputs:
  IndexName:
    Value:
      Fn::GetAtt:
        - SearchIndex
        - IndexName

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InstanceName": {
      "Type": "String",
      "Description": "The name of the OTS instance in which table will locate.",
      "AllowedPattern": "[a-zA-Z][-a-zA-Z0-9]{1.14}[a-zA-Z0-9]",
      "Default": "mytest"
    },
    "TableName": {
      "Type": "String",
      "Description": "The table name of the OTS instance.",
      "AllowedPattern": "[_a-zA-Z][_a-zA-Z0-9]{0.254}",
      "Default": "mytest"
    },
    "SearchIndexName": {
      "Type": "String",
      "Description": "The index name.",
      "Default": "searchIndex"
    },
    "FieldSchemas": {
      "Type": "Json",
      "Default": [
        {
          "FieldName": "id",
          "FieldType": "FieldType.LONG",
          "IsArray": false,
          "Index": true,
          "EnableSortAndAgg": true,
          "Store": true
        }
      ]
    }
  },
  "Resources": {
    "SearchIndex": {
      "Type": "ALIYUN::OTS::SearchIndex",
      "Properties": {
        "IndexName": {
          "Ref": "SearchIndexName"
        },
        "InstanceName": {
          "Ref": "InstanceName"
        },
        "TableName": {
          "Ref": "TableName"
        },
        "FieldSchemas": {
          "Ref": "FieldSchemas"
        }
      }
    }
  },
  "Outputs": {
    "IndexName": {
      "Value": {
        "Fn::GetAtt": [
          "SearchIndex",
          "IndexName"
        ]
      }
    }
  }
}

O modelo ots.yml usa os tipos de recurso ALIYUN::OTS::Instance, ALIYUN::OTS::SearchIndex, ALIYUN::OTS::Table e ALIYUN::OTS::VpcBinder.