Tipi di dati supportati (Ricerca cognitiva di Azure)

In Ricerca cognitiva di Azure i campi del documento e i valori nelle espressioni (ad esempio, nei filtri) vengono tipizzati in base al modello di dati di entità o a EDM (vedere Entity Data Model per informazioni dettagliate).

Nota

Se si usano indicizzatori per eseguire il pull dei dati in Ricerca cognitiva di Azure, gli indicizzatori hanno mapping di tipi di dati diversi per JSON e SQL Server origini dati. Per altre informazioni, vedere Mapping dei tipi di dati per gli indicizzatori in Ricerca cognitiva di Azure.

Tipi di dati EDM usati negli indici e nei documenti di Ricerca cognitiva di Azure

Quando si definiscono i campi in un indice, è necessario specificare i tipi di dati EDM. È possibile trovare esempi di rappresentazione JSON per i campi di vari tipi in Creare esempi di indice. Per un esempio di documenti JSON contenuti contenuto tipizzato negli scenari di caricamento dei dati, vedere Esempi di aggiunta, aggiornamento o eliminazione di documenti.

Tipo di dati Descrizione
Edm.String Dati di testo.
Edm.Boolean Contiene valori true/false.
Edm.Int32 Valori integer a 32 bit.
Edm.Int64 Valori integer a 64 bit.
Edm.Double Valori a virgola mobile IEEE 754 a precisione doppia.
Edm.DateTimeOffset Valori di data e ora rappresentati nel formato OData V4: yyyy-MM-ddTHH:mm:ss.fffZ o yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm. La precisione dei DateTimeOffset campi è limitata a millisecondi. Se si caricano DateTimeOffset valori con precisione sub-millisecond, il valore restituito verrà arrotondato per enumerazione a millisecondi ( ad esempio, 2015-04-15T10:30:09.7552052Z verrà restituito come 2015-04-15T10:30:09.7550000Z). Quando si caricano DateTimeOffset valori con informazioni sul fuso orario nell'indice, Ricerca cognitiva di Azure normalizza questi valori in formato UTC. Ad esempio, 2017-01-13T14:03:00-08:00 verrà archiviato come 2017-01-13T22:03:00Z. Se è necessario archiviare le informazioni sul fuso orario, è necessario aggiungere un campo aggiuntivo all'indice.
Edm.GeographyPoint Punto che rappresenta una località geografica del mondo. Per i corpi della richiesta e della risposta, la rappresentazione dei valori di questo tipo segue il formato del tipo "Point" di GeoJSON. Per gli URL, OData usa un formato letterale basato sullo standard WKT. Il valore letterale di un punto viene costruito come geography'POINT(lon lat)'.
Edm.ComplexType Oggetti le cui proprietà sono mappate ai sotto campi che possono essere di qualsiasi altro tipo di dati supportato. Ciò consente l'indicizzazione di dati gerarchici strutturati, ad esempio JSON. Gli oggetti in un campo di tipo Edm.ComplexType possono contenere oggetti annidati, ma il livello di annidamento è limitato. I limiti sono descritti in Limiti del servizio.
Collection(Edm.String) Elenco di stringhe.
Collection(Edm.Boolean) Elenco di valori booleani.
Collection(Edm.Int32) Elenco di valori interi a 32 bit.
Collection(Edm.Int64) Elenco di valori integer a 64 bit.
Collection(Edm.Double) Elenco di valori numerici a precisione doppia.
Collection(Edm.DateTimeOffset) Elenco di valori di data e ora.
Collection(Edm.GeographyPoint) Elenco di punti che rappresentano le posizioni geografiche.
Collection(Edm.ComplexType) Elenco di oggetti di tipo Edm.ComplexType. Esiste un limite al numero massimo di elementi in tutte le raccolte di tipo Edm.ComplexType in un documento. Per informazioni dettagliate , vedere Limiti del servizio .

Nota

Tutti i tipi precedenti sono nullable, ad eccezione delle raccolte di tipi primitivi e complessi, Collection(Edm.String)ad esempio . I campi di tipo nullable possono essere impostati esplicitamente su Null. Vengono automaticamente impostati su Null quando vengono omessi da un documento caricato in un indice Ricerca cognitiva di Azure. I campi della raccolta vengono impostati automaticamente su vuoto ('[]' in JSON) quando vengono omessi da un documento. Inoltre, non è possibile archiviare un valore Null in un campo di raccolta.

A differenza delle raccolte complesse, non esiste un limite massimo specifico per il numero di elementi in una raccolta di tipi primitivi, ma il limite superiore di 16 MB per le dimensioni del payload si applica a tutte le parti dei documenti, incluse le raccolte.

Edm.GeographyPolygon è un poligono che rappresenta un'area geografica del mondo. Sebbene questo tipo non possa essere usato nei campi del documento, può essere usato come argomento per la funzione geo.intersects. Il formato letterale per gli URL in OData si basa sugli standard WKT (testo noto) e sugli standard di accesso alle funzionalità semplici di OGC. Il valore letterale di un poligono viene costruito come geography'POLYGON((lon lat, lon lat, ...))'

Per altre informazioni sulla ricerca geospaziale in Azure, vedere questo video: Ricerca cognitiva di Azure e dati geospaziali

Importante

I punti in un poligono devono essere in ordine antiorario. I punti in un poligono vengono interpretati in ordine antiorario, rispetto all'interno del poligono. Ad esempio, un poligono chiuso a 4 punti intorno a Londra sarebbe -0,3°W 51,6°N [in alto a sinistra] , -0,3°W 51,4°N [in basso a sinistra], 0,1°E 51,4°N [in basso a destra], 0,1°E 51,6°N [in alto a destra], -0,3°W 51,6°N [punto iniziale].

Vedi anche