Condividi tramite


Esecuzione di query su colonne di tipo varbinary(max) e xml (ricerca full-text)

Se una colonna varbinary(max), varbinary o xml viene sottoposta a indicizzazione full-text, le query su questa colonna possono essere eseguite utilizzando predicati (CONTAINS e FREETEXT) e funzioni (CONTAINSTABLE e FREETEXTTABLE) full-text, proprio come su ogni altri colonna indicizzata full-text.

Nota importanteImportante

La ricerca full-text può anche essere eseguita con colonne di tipo image. Il tipo di dati image verrà comunque rimosso in una versione futura di SQL Server. Evitare pertanto di utilizzarlo nelle nuove attività di sviluppo e pianificare la modifica delle applicazioni che attualmente lo utilizzano. Utilizzare invece il tipo di dati varbinary(max).

dati varbinary(max) o varbinary

In una singola colonna varbinary(max) o varbinary è possibile archiviare molti tipi di documenti. In SQL Server 2008 è supportato qualsiasi tipo di documento per cui è disponibile un filtro nel sistema operativo. Il tipo di ogni documento è identificato dall'estensione file relativa. Per un'estensione file doc, ad esempio, la ricerca full-text utilizza il filtro che supporta i documenti di Microsoft Word. Per un elenco dei tipi di documento disponibili, eseguire una query sulla vista del catalogo sys.fulltext_document_types.

Si noti che il motore di ricerca full-text può utilizzare i filtri esistenti installati nel sistema operativo. Prima di poter utilizzare i filtri, i word breaker e gli stemmer del sistema operativo, è necessario caricarli nell'istanza del server, come illustrato di seguito:

EXEC sp_fulltext_service @action='load_os_resources', @value=1;

Per creare un indice full-text in una colonna varbinary(max), il motore di ricerca full-text deve accedere alle estensioni file dei documenti nella colonna varbinary(max). Queste informazioni devono essere archiviate in una colonna di tabella, denominata colonna del tipo, che deve essere associata alla colonna varbinary(max) nell'indice full-text. Quando si esegue l'indicizzazione di un documento, il motore di ricerca full-text utilizza l'estensione file nella colonna del tipo per identificare il filtro da utilizzare.

dati xml

In una colonna del tipo di dati xml vengono archiviati solo i documenti e i frammenti XML e solo il filtro XML viene utilizzato per i documenti. Una colonna del tipo non è pertanto necessaria. Nelle colonne xml l'indice full-text indicizza il contenuto degli elementi XML, ma ignora il markup XML. Ai valori di attributo viene applicata l'indicizzazione full-text, a meno che non siano valori numerici. I tag sono utilizzati come limiti dei token. Sono supportati documenti e frammenti XML o HTML in formato corretto contenenti più lingue.

Per ulteriori informazioni sulle query eseguite su una colonna xml, vedere Indice full-text su una colonna XML.