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
Rendere le variabili read-only in una pipeline di Azure DevOps
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Ricevere notifiche sui test con Azure Load Testing
Creare agenti facilmente con Azure AI Agent Service
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Triggerare una pipeline su un altro repository di Azure DevOps
Gestione file Javascript in Blazor con .NET 9
Evitare memory leaks nelle closure JavaScript
Scrivere selettori CSS più semplici ed efficienti con :is()
Fornire parametri ad un Web component HTML
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
I più letti di oggi
- Sfruttare i nuovi overload di TimeSpan.From* per creare timespan usando numeri interi
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!