Azure Cosmos DB è il servizio di Microsoft che fornisce un database documentale e non solo, il tutto interamente gestito e altamente scalabile.
Quando carichiamo i documenti, se non diversamente indicato, essi vengono interamente indicizzati e questo ci permette di cercare in base ad ogni informazione che essi contengono in maniera puntuale e molto veloce, supportando anche di diversi GB di informazioni per partizione.
Anche la ricerca del testo è ovviamente consentita, ma per farlo sono disponibili funzioni diverse a seconda del modo in cui vogliamo cercare. L'operatore di uguaglianza ci permette di cercare la stringa esatta e la ricerca è case-sensitive. In questo script vogliamo invece vedere altre forme di ricerca:
-- Ricerca case sensitive SELECT * FROM Products WHERE Name = 'Prodotto 1' -- Ricerca case insensitive SELECT * FROM Products WHERE StringEquals(Name, 'prodotto 1', true) -- Inizia per case insensitive SELECT * FROM Products WHERE StartsWith(Name, 'prod', true) -- Contiene case insensitive SELECT * FROM Products WHERE Contains(Name, 'dotto', true) -- Finisce per case sensitive SELECT * FROM Products WHERE StartsWith(Name, '1') -- Ricerca con Regex SELECT * FROM Products WHERE RegexMatch(Name, '\w+\s\d+') -- Ricerca con Like case sensitive SELECT * FROM Products WHERE Name Like 'P%o 1'
Come possiamo vedere, le varie funzioni ci permettono di cercare in maniera case sensitive o insensitive. La nuova parola chiave LIKE ci permette di fare ricerca in modo molto simile alla corrispondente chiave sui database relazionali, usando % (percentuale) e _ (underscore).
Da un punto di vista delle prestazioni, cercare una stringa esatta è più veloce e richiede meno RUs. Anche la ricerca case sensitive è sensibilmente migliore rispetto a quella case insensitive. EndsWith e Contains sono più onerose rispetto a StartsWith e a StringEquals. RegexMatch e Like, invece, sono le più onerose ma non vi sono differenze prestazionali tra di loro.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ospitare n8n su Azure App Service
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Abilitare il rolling update su Azure Functions flex consumption
Integrare email esterne con Azure Functions e Managed Connectors
Evidenziare una porzione di testo in un pagina dopo una navigazione
Gestire trasferimenti cloud con Azure Storage Mover
Gestione delle scrollbar dinamiche in HTML e CSS
Global Azure 2026 - ASPItalia.com
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Mappare una complex property di una entity su un campo JSON
Esporre un server MCP con Azure API Management
Building Custom Developer Agents


