Tipos de dados suportados (Azure Cognitive Search)

Em Azure Cognitive Search, os campos de documentos e valores em expressões (por exemplo, em filtros) são dactilografados de acordo com o Modelo de Dados da Entidade, ou EDM (ver Modelo de Dados da Entidade para mais detalhes).

Nota

Se estiver a usar indexantes para obter dados para Azure Cognitive Search, os indexantes têm diferentes mapeamentos de tipo de dados para JSON e SQL Server fontes de dados. Para obter mais informações, consulte o mapa do tipo de dados para indexadores em Azure Cognitive Search.

Tipos de dados EDM utilizados em índices e documentos Azure Cognitive Search

Especificar os tipos de dados EDM é necessário na definição de campos num índice. Pode encontrar exemplos de representação JSON para campos de vários tipos em exemplos de Create Index. Para um exemplo de documentos JSON contidos em tipos de upload de dados, consulte exemplos de Adicionar, Atualizar ou Eliminar Documentos.

Tipo de dados Descrição
Edm.String Dados de texto.
Edm.Boolean Contém valores verdadeiro/falso.
Edm.Int32 Valores inteiros de 32 bits.
Edm.Int64 Valores inteiros de 64 bits.
Edm.Double Valores de duplo precisão IEEE 754 pontos flutuantes.
Edm.DateTimeOffset Valores de data e hora representados no formato OData V4: yyyy-MM-ddTHH:mm:ss.fffZ ou yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. A precisão dos DateTimeOffset campos limita-se a milissegundos. Se carregar DateTimeOffset valores com precisão de sub-milissegundo, o valor devolvido será arredondado até milissegundos (por exemplo, 2015-04-15T10:30:09.7552052Z será devolvido como 2015-04-15T10:30:09.7550000Z). Ao carregar DateTimeOffset valores com informação de fuso horário para o seu índice, Azure Cognitive Search normaliza estes valores para UTC. Por exemplo, 2017-01-13T14:03:00-08:00 será armazenado como 2017-01-13T22:03:00Z. Se precisar de armazenar informações sobre fuso horário, terá de adicionar um campo extra ao seu índice.
Edm.GeographyPoint Um ponto que representa uma localização geográfica no mundo. Para os órgãos de pedido e resposta, a representação de valores deste tipo segue o formato do tipo GeoJSON "Point". Para URLs, o OData utiliza um formulário literal baseado na norma WKT. Um ponto literal é construído como geografia 'POINT(lon lat)'.
Edm.ComplexType Objetos cujas propriedades mapeiam para sub-campos que podem ser de qualquer outro tipo de dados suportados. Isto permite a indexação de dados hierárquicos estruturados, como o JSON. Objetos em um campo de tipo Edm.ComplexType podem conter objetos aninhados, mas o nível de nidificação é limitado. Os limites são descritos nos limites de serviço.
Coleção (Edm.String) Uma lista de cordas.
Coleção (Edm.Boolean) Uma lista de valores booleanos.
Coleção (Edm.Int32) Uma lista de valores inteiros de 32 bits.
Coleção (Edm.Int64) Uma lista de valores inteiros de 64 bits.
Coleção (Edm.Double) Uma lista de valores numéricos de dupla precisão.
Coleção (Edm.DateTimeOffset) Uma lista dos valores da hora da data.
Coleção (Edm.GeographyPoint) Uma lista de pontos que representam localizações geográficas.
Coleção (Edm.ComplexType) Uma lista de objetos do tipo Edm.ComplexType. Há um limite para o número máximo de elementos em todas as coleções de tipo Edm.ComplexType num documento. Consulte os limites de serviço para mais detalhes.

Nota

Todos os tipos acima são nulos, com exceção das coleções de tipos primitivos e complexos, por exemplo, Collection(Edm.String). Os campos nulos podem ser explicitamente definidos para nulos. São automaticamente definidos para nulos quando omitidos de um documento que é carregado para um índice de Azure Cognitive Search. Os campos de recolha são automaticamente definidos para esvaziar ('[]' em JSON) quando são omitidos de um documento. Além disso, não é possível armazenar um valor nulo num campo de recolha.

Ao contrário das coleções complexas, não existe um limite superior especificamente sobre o número de itens numa coleção de tipos primitivos, mas o limite máximo de 16 MB no tamanho da carga útil aplica-se a todas as partes de documentos, incluindo coleções.

Edm.GeographyPolygon é um polígono que representa uma região geográfica do mundo. Embora este tipo não possa ser utilizado em campos de documentos, pode ser usado como argumento para a geo.intersects função. O formulário literal para URLs em OData baseia-se nos padrões de acesso a funcionalidades WKT (bem conhecido) e no simples prazo de acesso a funcionalidades da OGC. Um poligão literal é construído como 'POLYGON' de geografia(lon lat, lon lat, ...)'.

Para saber mais sobre a pesquisa geoespacial em Azure, veja este vídeo: Azure Cognitive Search e Dados Geoespaciais

Importante

Os pontos num polígono devem estar em ordem anti-horário. Os pontos num polígono são interpretados em ordem anti-horário, em relação ao interior do polígono. Por exemplo, um polígono fechado de 4 pontos em Londres seria de -0,3°W 51,6°N [superior à esquerda], -0,3°W 51,4°N [inferior à esquerda], 0.1°E 51.4°N [inferior direito], 0,1°E 51.6°N [direita superior], -0,3°W 51.6°N [ponto de partida].

Ver também