Ricerca full-text (SQL Server)

In SQL Server 2008 viene offerta la possibilità, ad applicazioni ed utenti, di eseguire query full-text su dati basati su caratteri in tabelle SQL Server. Prima che le query full-text possano essere eseguite in una determinata tabella, l'amministratore del database deve creare un indice full-text nella tabella. L'indice full-text include una o più colonne basate su caratteri nella tabella. Tali colonne possono presentare i tipi di dati seguenti: char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary o varbinary(max). Ogni indice full-text indicizza una o più colonne della tabella di base e ogni colonna può essere associata a una lingua specifica. A partire da SQL Server 2008, la ricerca full-text supporta più di 50 lingue, tra cui inglese, spagnolo, cinese, giapponese, arabo, bengalese e hindi. Per un elenco completo delle lingue full-text supportate, vedere sys.fulltext_languages (Transact-SQL).

Per ogni lingua supportata, SQL Server fornisce componenti linguistici specifici, ovvero un word breaker e uno stemmer e un file del thesaurus vuoto. Per ogni lingua full-text, in SQL Server è inoltre disponibile un file in cui è possibile definire facoltativamente sinonimi specifici della lingua per estendere l'ambito delle query di ricerca (un file del thesaurus). A partire da SQL Server 2008, viene inoltre fornito un elenco di parole non significative del sistema. Per supportare scenari aziendali o lingue specifiche, è possibile modificare l'elenco di parole non significative del sistema aggiungendo e rimuovendo parole, nonché creare elenchi aggiuntivi in base alle specifiche esigenze.

In SQL Server è disponibile un set di predicati (CONTAINS e FREETEXT) e di funzioni con valori del set di righe (CONTAINSTABLE e FREETEXTTABLE) full-text per scrivere query full-text. Tramite questi predicati e queste funzioni, le applicazioni e gli utenti possono eseguire molti tipi di ricerche full-text, ad esempio la ricerca di singole parole o frasi (e facoltativamente la classificazione per pertinenza del set di risultati), la ricerca di una parola o frase vicina a un'altra o la ricerca di sinonimi di una parola specifica.

[!NOTA]

La ricerca full-text è un componente facoltativo del Motore di database di SQL Server. Per ulteriori informazioni, vedere Installazione di SQL Server 2008.

Contenuto della sezione