Introduzione alla ricerca full-text
La ricerca full-text consente l'indicizzazione rapida e flessibile per query basate su parole chiave dei dati di testo archiviati in un database di Microsoft SQL Server. A differenza del predicato LIKE, che supporta solo i modelli di caratteri, le query full-text eseguono ricerche linguistiche su tali dati, operando su parole e frasi in base alle regole di una lingua specifica.
In Microsoft SQL Server 2005 la ricerca full-text offre funzionalità a livello dell'intera organizzazione. Miglioramenti significativi in materia di prestazioni, facilità di gestione e funzionalità garantiscono capacità di ricerca eccezionali per applicazioni di qualsiasi dimensione.
È possibile comprendere appieno il vantaggio, in termini di prestazioni, offerto dalla ricerca full-text quando vengono eseguite query su grandi quantità di dati di testo non strutturati. Una query LIKE eseguita su milioni di righe di dati di testo può richiedere dei minuti, mentre per una query full-text sugli stessi dati possono essere necessari solo pochi secondi, o addirittura meno, in base al numero di righe restituite.
È possibile creare indici full-text su colonne che contengono dati char, varchar e nvarchar e su colonne che contengono dati binari formattati, ad esempio documenti di Microsoft Word, archiviati in una colonna varbinary(max) o image. Non è possibile utilizzare il predicato LIKE per eseguire query su dati binari formattati.
Per creare un indice full-text su una tabella, quest'ultima deve contenere una colonna singola, univoca e non Null. Si consideri ad esempio un indice full-text per la tabella Document in Adventure Works, in cui DocumentID è la colonna chiave primaria. L'indice full-text indica che la parola "instructions" è la 24° e la 44° nella colonna DocumentSummary della riga associata al valore DocumentID di 3. Questa struttura di indice supporta una ricerca efficiente di tutti gli elementi che includono parole indicizzate e operazioni di ricerca avanzate, ad esempio ricerche di frasi e di prossimità. Per ulteriori informazioni, vedere Tabella Document (AdventureWorks).
Durante l'elaborazione di una query full-text, il motore di ricerca restituisce a SQL Server i valori delle chiavi delle righe che soddisfano i criteri di ricerca. Se si desidera utilizzare una query full-text per individuare documenti che contengono la parola "instructions", dall'indice full-text si ottengono i valori DocumentID 3, 4, 6, 7 e 8. SQL Server utilizza quindi tali chiavi per restituire le righe corrispondenti.
Vedere anche
Concetti
Nozioni fondamentali sulla ricerca full-text
Altre risorse
Miglioramenti della ricerca full-text
LIKE (Transact-SQL)
Concetti di base sulla ricerca full-text