Cenni preliminari sull'indicizzazione full-text

Le informazioni contenute negli indici full-text vengono utilizzate dal motore di ricerca full-text per compilare query full-text per cercare rapidamente in una tabella determinate parole o combinazioni di parole. In un indice full-text vengono archiviate informazioni su parole significative e sulla relativa posizione all'interno di una o più colonne di una tabella di database. Un indice full-text è un tipo speciale di indice funzionale basato su token creato e gestito dal motore di ricerca full-text per SQL Server. Il processo di creazione di un indice full-text è diverso da quello di altri tipi di indici. Anziché creare un albero B basato su un valore archiviato in una riga specifica, il motore di ricerca full-text crea una struttura con indice invertito, compresso e in pila dai singoli token dal testo indicizzato. In SQL Server 2008 le dimensioni di un indice full-text sono limitate soltanto dalle risorse di memoria disponibili nel computer in cui viene eseguita l'istanza di SQL Server.

A partire da SQL Server 2008 gli indici full-text sono integrati nel Motore di database anziché risiedere nel file system come nelle versioni precedenti di SQL Server. Per un nuovo database, il catalogo full-text è ora un oggetto virtuale che non appartiene ad alcun filegroup. Si tratta semplicemente di un concetto logico che fa riferimento a un gruppo di indici full-text. Si noti tuttavia che durante l'aggiornamento di un database SQL Server 2000 o SQL Server 2005, per qualsiasi catalogo full-text che contiene file di dati, viene creato un nuovo filegroup. Per ulteriori informazioni, vedere Aggiornamento della ricerca full-text.

[!NOTA]

In SQL Server 2008 il motore di ricerca full-text si trova nel processo di SQL Server anziché in un servizio separato. L'integrazione del motore di ricerca full-text nel Motore di database consente di ottimizzare la gestibilità della ricerca full-text, l'esecuzione delle query miste e le prestazioni generali.

È consentito un solo indice full-text per tabella. Per creare un indice full-text su una tabella, quest'ultima deve contenere una colonna singola, univoca e non Null. È possibile creare un indice full-text su colonne del tipo char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary e varbinary(max). La creazione di un indice full-text in image, varbinaryo varbinary(max) richiede di specificare una colonna del tipo. Una colonna del tipo è una colonna di tabella in cui è possibile archiviare l'estensione file (doc, pdf, xls e così via) del documento in ogni riga.

Comprendere a fondo la struttura di un indice full-text è fondamentale per comprendere il funzionamento del motore di ricerca full-text. Per ulteriori informazioni, vedere Struttura di un indice full-text.

Il processo di creazione e gestione di un indice full-text è definito popolamento (noto anche come ricerca per indicizzazione). Sono disponibili tre tipi di popolamento dell'indice full-text: popolamento completo, popolamento basato sul rilevamento delle modifiche e popolamento incrementale basato su timestamp. Per ulteriori informazioni, vedere Popolamento dell'indice full-text.

Per creare un indice full-text

Per modificare un indice full-text

Per eliminare un indice full-text