Full-Text Search è un servizio di SQL Server che permette di indicizzare le tabelle, anche con contenuti HTML, e di effettuare ricerche performanti e con logiche fuzzy più "intelligenti" che vadano oltre il semplice LIKE. E' quindi uno strumento molto usato dagli sviluppatori web che forniscono funzionalità di ricerche all'interno del sito o suggerimenti su caselle di testo.
Questo servizio però non era disponibile sulla versione cloud di SQL Server disponibile su Azure, ma a Build 2015 è stato annunciato la possibilità di usarlo tramite i server V12 inseriti recentemente.
Per sfruttare questa funzione è necessario quindi avere migrato i database a quest'ultima versione; fatto questo possiamo utilizzare la normale sintassi TSQL, perciò prima di tutto dobbiamo creare il catalogo:
CREATE FULLTEXT CATALOG ProductsCatalog AS DEFAULT;
A questo punto dobbiamo creare l'indice sulla tabella e sulle colonne di nostro interesse.
CREATE FULLTEXT INDEX ON Products(Name) KEY INDEX Products_id ON ProductsCatalog;
Non ci resta che abilitare e avviare l'indicizzazione.
ALTER FULLTEXT INDEX ON Products ENABLE; ALTER FULLTEXT INDEX ON Products START FULL POPULATION;
Una volta completato possiamo utilizzare le funzionalità di query offerte da full-text search.
SELECT * FROM Products WHERE CONTAINS(Name, 'test');
Occorre prestare attenzione sull'uso di questa funzione perché va ad influire sulle prestazioni del database. Può sembrare che si sovrapponga ad Azure Search, il servizio gestito che permette di raggiungere gli stessi risultati, ma che è completamente indipendente sia come risorse che come provenienza delle informazioni.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Effettuare il binding di date in Blazor
.NET Conference Italia 2024
Cambiare la chiave di partizionamento di Azure Cosmos DB
Miglioramenti nelle performance di Angular 16
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare gRPC su App Service di Azure
Creare una libreria CSS universale: i bottoni
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Triggerare una pipeline su un altro repository di Azure DevOps