Usare Full-Text Search con Azure SQL Database

di Cristian Civera, in SQL Database,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi