Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'indicizzazione in Cosmos DB è progettata per offrire prestazioni di query veloci e flessibili, indipendentemente dal modo in cui i dati si evolvono. Esplorare questi criteri di indicizzazione di esempio per scoprire come personalizzare l'indicizzazione per il carico di lavoro in Cosmos DB. Ogni esempio illustra un modo diverso per controllare quali proprietà vengono indicizzate, come e perché.
Indicizzare tutte le proprietà (impostazione predefinita)
Questo criterio indicizza ogni proprietà in ogni elemento, ovvero il comportamento predefinito. Offre la massima flessibilità delle query.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
path: '/_etag/?'
}
]
}
Escludere una proprietà dall'indicizzazione
Questo criterio indicizza tutte le proprietà ad eccezione di una proprietà specifica, riducendo i costi di archiviazione e scrittura se non è necessario eseguire query su tale proprietà.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
path: '/_etag/?'
},
{
"path": "/nonIndexedProperty/?"
}
]
}
Solo proprietà specifiche dell'indice
Questo criterio esegue solo l'indicizzazione delle proprietà specificate, che può migliorare le prestazioni di scrittura e ridurre l'archiviazione se si esegue solo una query su un subset dei dati.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/name/?"
},
{
"path": "/address/city/?"
}
],
"excludedPaths": [
{
path: '/_etag/?'
},
{
"path": "/*"
}
]
}
Usare indici spaziali
Questo criterio illustra come usare indici spaziali per i dati geospaziali.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
},
{
"path": "/location/?",
"indexes": [
{
"kind": "Spatial",
"dataType": "Point"
}
]
}
],
"excludedPaths": [
{
path: '/_etag/?'
}
]
}
Usare indici compositi
Questo criterio aggiunge un indice composito per ottimizzare le query che filtrano o ordinano in base a più proprietà.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
path: '/_etag/?'
}
]
"compositeIndexes": [
[
{
"path": "/category/?",
"order": "ascending"
},
{
"path": "/timestamp/?",
"order": "descending"
}
]
]
}
Disabilitare l'indicizzazione
Questo criterio disabilita l'indicizzazione per il contenitore, utile per i carichi di lavoro con intensa attività di scrittura in cui non è necessario eseguire query sui dati e usare solo operazioni di lettura punto per recuperare i dati.
{
"indexingMode": "none"
}
Criteri di indicizzazione vettoriale
Questo criterio abilita l'indicizzazione vettoriale su una proprietà denominata, /vectors che viene usata per archiviare gli incorporamenti per tale elemento, /vectors. Ciò consente ricerche di somiglianza efficienti usando la distanza coseno a 512 dimensioni con vettori float32.
{
"vectorEmbeddings": [
{
"path": "/vectors",
"dataType": "float32",
"distanceFunction": "cosine",
"dimensions": 512
},
]
}
Linee guida per l'indicizzazione del testo completo
Questo criterio configura una proprietà denominata /text per la ricerca full-text mediante l'analisi della lingua inglese, consentendo query di ricerca di testo efficienti.
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text",
"language": "en-US"
}
]
}
Indicizzazione testuale completa con esclusione delle proprietà di sistema
Questo criterio abilita l'indicizzazione full-text nella /text proprietà, escludendo la proprietà _etag di sistema dall'indicizzazione.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
}
]
}
Indicizzazione del testo completo su più proprietà
Questo criterio consente l'indicizzazione full-text sia sulla proprietà /text1 che sulla proprietà /text2 usando l'analisi della lingua inglese, permettendo di eseguire query di ricerca testuale efficienti su più campi.
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text1",
"language": "en-US"
},
{
"path": "/text2",
"language": "en-US"
}
]
}
Esempio di normativa di testo completo e basata su vettori per la ricerca ibrida
Questa politica combina l'indicizzazione del testo completo e dei vettori per abilitare le capacità di ricerca ibrida, consentendo query di somiglianza di testi e vettori efficienti all'interno dello stesso contenitore.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
{
"path": "/vectors/*"
}
],
"fullTextIndexes": [
{
"path": "/text"
}
],
"vectorIndexes": [
{
"path": "/vectors",
"type": "DiskANN"
}
]
}