Todos os produtos
Search
Central de documentação

Tablestore:Tipos de dados

Última atualização: Jul 03, 2026

Antes de criar um índice de pesquisa, compreenda os tipos de dados compatíveis com esse recurso. Entenda também os mapeamentos entre os tipos de dados do índice de pesquisa e os tipos de dados das tabelas associadas.

Tipos de dados compatíveis

O índice de pesquisa oferece tipos de dados primitivos, como Long, Double, Boolean, Keyword, Text, Date, IP, Geopoint, Vector e JSON. Também disponibiliza tipos especiais, incluindo arrays, tipos aninhados e colunas virtuais.

Tipos de dados primitivos

Os índices de pesquisa fornecem tipos de dados primitivos, como Long, Double, Boolean, Keyword, Text, Date, IP, Geopoint, Vector e JSON. A tabela a seguir descreve esses tipos.

Tipo de dado primitivo

Descrição

Long

Inteiro longo de 64 bits.

Double

Número de ponto flutuante de dupla precisão de 64 bits.

Boolean

Valor booleano.

Keyword

String não tokenizada.

FuzzyKeyword

String compatível com consultas fuzzy de alto desempenho.

Text

String ou texto tokenizado.

Date

Tipo de data e hora que aceita formatos personalizados.

IP

Tipo de dado IP compatível com endereços nos formatos IPv4 e IPv6.

Geopoint

Coordenadas de um ponto geográfico. Formato: latitude,longitude. A latitude precede a longitude. A latitude deve estar no intervalo [-90,+90] e a longitude no intervalo [-180,+180]. Exemplo: 35.8,-45.91.

Vector

Tipo vetorial. O formato é uma string de array Float32. O comprimento do array corresponde à dimensão do campo. Por exemplo, a string vetorial [1, 5.1, 4.7, 0.08 ] tem quatro dimensões.

JSON

Tipo JSON compatível com os tipos de índice OBJECT e NESTED.

Tipos de array e aninhados

Além dos tipos primitivos (Long, Double, Boolean, Keyword, Text, Date, Geopoint e Vector), o índice de pesquisa oferece dois tipos especiais: array e aninhado (nested). O tipo array armazena séries de dados do mesmo tipo. O tipo aninhado armazena dados com estrutura hierárquica, semelhante ao JSON. Para mais informações, consulte Tipos de array e aninhados.

Tipo Array

Importante
  • O tipo de dado Array aplica-se exclusivamente a índices de pesquisa. Tabelas de dados não suportam esse tipo.

  • Consulte campos Array da mesma forma que campos não-Array. O sistema retorna uma linha se pelo menos um valor no array atender à condição da consulta.

  • O tipo de dado Vector não suporta arrays.

O tipo Array funciona como modificador combinável com tipos primitivos como Long, Double, Boolean, Keyword, Text, Date, IP e GeoPoint. Por exemplo, combinar o tipo Array com o tipo Long cria um array de inteiros longos para armazenar múltiplos valores desse tipo.

Para campos do tipo Array em um índice de pesquisa, o campo correspondente na tabela de dados deve ser do tipo String. O campo no índice de pesquisa deve ser do tipo primitivo correspondente, como Long ou Double.

A tabela abaixo detalha os formatos de array para tipos de dados primitivos em índices de pesquisa.

Tipo de Array

Descrição

Long Array

Array de inteiros longos. Exemplo: "[1000, 4, 5555]".

Double Array

Array de números de ponto flutuante. Exemplo: "[3.1415926, 0.99]".

Boolean Array

Array de valores booleanos. Exemplo: "[true, false]".

Keyword Array

Array de strings no formato JSON. Exemplo: "[\"Hangzhou\", \"Xi'an\"]".

Text Array

Array de texto no formato JSON. Exemplo: "[\"Hangzhou\", \"Xi'an\"]".

Arrays de texto são raramente utilizados.

Date Array

Array de datas. Se o tipo de data for inteiro, o formato é "[1218197720123, 1712850436000]". Se for string, o formato é "[\"2024-04-11 23:47:16.854775807\", \"2024-06-11 23:47:16.854775807\"]".

IP Array

Array de endereços IP no formato JSON. Exemplo: "[\"192,168.1.1\", \"255.255.255.255\"]".

Geopoint Array

Array de pontos geográficos. Exemplo: "[\"34.2, 43.0\", \"21.4, 45.2\"]".

Tipo Nested

O tipo Nested representa documentos aninhados. Uma linha de dados (documento) pode conter várias linhas filhas (documentos filhos) armazenadas em um campo aninhado. Esse tipo é adequado para armazenar dados hierárquicos.

Especifique o esquema das linhas filhas em um campo aninhado, definindo os campos e as propriedades de cada linha filha. O tipo Nested suporta múltiplos valores e assemelha-se ao tipo de dado JSON.

Para campos do tipo Nested em um índice de pesquisa, o campo correspondente na tabela de dados deve ser do tipo String, e o campo no índice de pesquisa deve ser do tipo Nested. Utilize consultas aninhadas para consultar campos desse tipo.

Ao gravar dados na tabela, formate o valor do campo aninhado como um array JSON de objetos. Exemplo: [{"tagName":"tag1", "score":0.8,"time": 1730690237000 }, {"tagName":"tag2", "score":0.2,"time": 1730691557000}].

Importante

Sempre grave os dados como uma string de array JSON em um campo aninhado, mesmo que o campo contenha apenas uma linha filha.

Os campos aninhados classificam-se em tipos de nível único e multinível.

Tipo de aninhamento

Descrição

Tipo aninhado de nível único

Contém uma camada de estrutura de dados aninhada com hierarquia básica. Indicado para cenários que exigem relacionamentos pai-filho simples, sem múltiplos níveis. Exemplo:

[
    {
        "tagName": "tag1",
        "score": 0.8
    },
    {
        "tagName": "tag2",
        "score": 0.2
    }
]

Tipo aninhado multinível

Possui múltiplas camadas de estruturas de dados aninhadas com hierarquia complexa. Recomendado para modelos de dados que requerem hierarquias ricas e alto grau de modularidade. Exemplo:

[
    {
        "name": "Zhang San",
        "age": 20,
        "phone": "1390000****",
        "address": [
            {
                "province": "Zhejiang Province",
                "city": "Hangzhou City",
                "street": "No. 1201, Xingfu Community, Sunshine Avenue"
            }
        ]
    }
]

Colunas virtuais

Use o recurso de colunas virtuais dos índices de pesquisa para consultar novos campos e dados de novos tipos sem modificar o esquema de armazenamento ou os dados nas tabelas do Tablestore. Para mais detalhes, consulte Colunas virtuais.

Esse recurso permite mapear uma coluna da tabela para uma coluna virtual no índice de pesquisa durante a criação do índice. O tipo da coluna virtual pode diferir do tipo da coluna original na tabela. Assim, você cria uma coluna sem alterar o esquema ou os dados da tabela. Essa nova coluna pode acelerar consultas ou receber configurações de métodos de tokenização distintos.

  • Uso de diferentes tokenizadores para um campo Text

    Mapeie uma única coluna de string para vários campos Text em um índice de pesquisa. Cada campo Text pode usar um tokenizador diferente para atender a diversas necessidades de negócio.

  • Aceleração de consultas

    Melhore o desempenho das consultas em determinados cenários mapeando colunas para tipos diferentes, sem limpar ou reconstruir seus dados. Por exemplo, converter um tipo numérico para o tipo Keyword aumenta a performance de consultas de termo, enquanto converter um tipo string para numérico otimiza consultas de intervalo.

Mapeamentos de tipos de dados

O valor de um campo no índice de pesquisa deriva do valor do campo correspondente na tabela de dados. Os tipos de dados desses campos devem ser compatíveis. A tabela a seguir descreve os mapeamentos entre os tipos de dados dos campos nos índices de pesquisa e nas tabelas de dados.

Tipo de dado do campo do índice de pesquisa

Tipo de dado do campo da tabela de dados

Long

Integer

Long Array

String

Double

Double

Double Array

String

Boolean

Boolean

Boolean Array

String

Keyword

String

Keyword Array

String

Text

String

Date

Integer, String

Date Array

String

IP

String

IP Array

String

Geopoint

String

Geopoint Array

String

Vector

String

Nested

String

JSON

String