Tipos de datos admitidos (Azure Cognitive Search)

En Azure Cognitive Search, los campos de documento y los valores de las expresiones (por ejemplo, en filtros) se escriben según Entity Data Model o EDM (consulte Entity Data Model para obtener más información).

Nota

Si usa indexadores para extraer datos en Azure Cognitive Search, los indexadores tienen diferentes asignaciones de tipos de datos para JSON y SQL Server orígenes de datos. Para obtener más información, consulte Mapa de tipos de datos para indexadores en Azure Cognitive Search.

Tipos de datos EDM usados en Azure Cognitive Search índices y documentos

Es necesario especificar tipos de datos EDM al definir campos en un índice. Puede encontrar ejemplos de representación JSON para campos de varios tipos en Crear ejemplos de índice. Para obtener un ejemplo de documentos JSON con contenido con tipo en escenarios de carga de datos, consulte Ejemplos de adición, actualización o eliminación de documentos.

Tipo de datos Descripción
Edm.String Datos de texto.
Edm.Boolean Contiene valores true/false.
Edm.Int32 Valores enteros de 32 bits.
Edm.Int64 Valores enteros de 64 bits.
Edm.Double Valores de punto flotante IEEE 754 de precisión doble.
Edm.DateTimeOffset Valores de fecha y hora representados en el formato OData V4: yyyy-MM-ddTHH:mm:ss.fffZ o yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. La precisión de DateTimeOffset los campos está limitada a milisegundos. Si carga DateTimeOffset valores con precisión de submilisegundos, el valor devuelto se redondeará hasta milisegundos (por ejemplo, 2015-04-15T10:30:09.7552052Z se devolverá como 2015-04-15T10:30:09.7550000Z). Al cargar DateTimeOffset valores con información de zona horaria en el índice, Azure Cognitive Search normaliza estos valores a UTC. Por ejemplo, 2017-01-13T14:03:00-08:00 se almacenará como 2017-01-13T22:03:00Z. Si necesita almacenar información de zona horaria, deberá agregar un campo adicional al índice.
Edm.GeographyPoint Un punto que representa una ubicación geográfica en todo el mundo. Para los cuerpos de solicitud y respuesta, la representación de los valores de este tipo sigue el formato de tipo "Point" de GeoJSON. En el caso de las direcciones URL, OData usa un formato literal según el estándar WKT. Un literal de punto se construye como geography'POINT(lon lat)'.
Edm.ComplexType Objetos cuyas propiedades se asignan a subprocesos que pueden ser de cualquier otro tipo de datos admitido. Esto permite la indexación de datos jerárquicos estructurados, como JSON. Los objetos de un campo de tipo Edm.ComplexType pueden contener objetos anidados, pero el nivel de anidamiento es limitado. Los límites se describen en Límites de servicio.
Collection(Edm.String) Lista de cadenas.
Collection(Edm.Boolean) Lista de valores booleanos.
Collection(Edm.Int32) Lista de valores enteros de 32 bits.
Collection(Edm.Int64) Lista de valores enteros de 64 bits.
Collection(Edm.Double) Lista de valores numéricos de precisión doble.
Collection(Edm.DateTimeOffset) Lista de valores de fecha y hora.
Collection(Edm.GeographyPoint) Lista de puntos que representan ubicaciones geográficas.
Collection(Edm.ComplexType) Lista de objetos de tipo Edm.ComplexType. Hay un límite en el número máximo de elementos en todas las colecciones de tipo Edm.ComplexType de un documento. Consulte Límites de servicio para obtener más información.

Nota

Todos los tipos anteriores aceptan valores NULL, excepto las colecciones de tipos primitivos y complejos, por ejemplo, Collection(Edm.String). Los campos que aceptan valores NULL pueden establecerse explícitamente en NULL. Se establecen automáticamente en null cuando se omiten de un documento que se carga en un índice de Azure Cognitive Search. Los campos de colección se establecen automáticamente en vacíos ('[]' en JSON) cuando se omiten de un documento. Además, no es posible almacenar un valor NULL en un campo de colección.

A diferencia de las colecciones complejas, no hay ningún límite superior específicamente en el número de elementos de una colección de tipos primitivos, pero el límite superior de 16 MB en el tamaño de carga se aplica a todas las partes de documentos, incluidas las colecciones.

Edm.GeographyPolygon es un polígono que representa una región geográfica del globo. A pesar de que este tipo no se puede usar en campos de documento, se puede usar como argumento para la función geo.intersects. El formato literal de las direcciones URL de OData se basa en los estándares de acceso de características simples de WKT (texto conocido) y OGC. Un literal de polígono se construye como geography'POLYGON((lon lat, lon lat, ...))'.

Para más información sobre la búsqueda geoespacial en Azure, consulte este vídeo: Azure Cognitive Search y datos geoespaciales.

Importante

Los puntos de un polígono deben estar en orden contrario a las agujas del reloj. Los puntos de un polígono se interpretan en orden contrario a las agujas del reloj, en relación con el interior del polígono. Por ejemplo, un polígono cerrado de 4 puntos alrededor de Londres sería -0,3°W 51,6°N [superior izquierda] , -0,3°W 51,4°N [inferior izquierda], 0..6°N 1°E 51.4°N [inferior derecha], 0.1°E 51.6°N [superior derecha], -0.3°W 51.6°N [punto inicial].

Consulte también