Amministrazione della ricerca full-text

L'amministrazione della ricerca full-text può essere suddivisa in quattro attività principali:

  • Creazione di indici e cataloghi full-text.
  • Modifica di indici e cataloghi full-text esistenti.
  • Eliminazione di indici e cataloghi full-text esistenti.
  • Pianificazione e gestione del popolamento degli indici.

L'amministrazione della ricerca full-text viene eseguita a livello di server, database, tabella e colonna. A livello di server è possibile impostare alcune proprietà valide per l'intero server, ad esempio resource_usage, per aumentare o ridurre la quantità di risorse di sistema utilizzate dal servizio full-text. A livello di database è possibile abilitare o disabilitare l'utilizzo del servizio Microsoft Full-Text Engine for SQL Server (MSFTESQL) per un database. In un database abilitato per la funzionalità full-text è possibile creare o eliminare i metadati per uno o più cataloghi full-text.

[!NOTA] Per impostazione predefinita, in Microsoft SQL Server 2005 tutti i database sono abilitati per la funzionalità full-text.

A livello di tabella, è possibile abilitare o disabilitare il supporto full-text per una tabella. Se la definizione full-text di una tabella viene modificata, ad esempio includendo una nuova colonna che verrà inoltre indicizzata per una ricerca full-text, il catalogo full-text associato deve essere ripopolato per sincronizzare l'indice full-text con la nuova definizione full-text. A livello di colonna è possibile aggiungere o eliminare colonne che supportano query full-text.

Considerazioni per la creazione di indici e cataloghi full-text

Prima di imparare a creare indici full-text è importante conoscere le differenze rispetto ai normali indici SQL Server. Nella tabella seguente vengono elencate tali differenze.

Indici full-text Indici SQL Server normali

Sono archiviati nel file system, ma gestiti tramite il database.

Sono archiviati sotto il controllo del database nel quale sono definiti.

È consentito un solo indice full-text per tabella.

Sono consentiti più indici normali per tabella.

L'aggiunta di dati agli indici full-text, definita popolamento, può essere richiesta specificamente o tramite una pianificazione oppure può avvenire in modo automatico a seguito dell'aggiunta di nuovi dati.

Vengono automaticamente aggiornati quando si inseriscono, aggiornano o eliminano dati.

Sono raggruppati all'interno dello stesso database in uno o più cataloghi full-text.

Non sono raggruppati.

A tutti questi livelli sono disponibili funzionalità per il recupero di metadati e di informazioni sullo stato.

Come i normali indici SQL Server, gli indici full-text possono essere aggiornati automaticamente man mano che i dati delle tabelle associate vengono modificati. In alternativa è possibile ripopolare manualmente gli indici full-text a intervalli appropriati, ma ciò può richiedere tempo e risorse. Per questo motivo l'aggiornamento degli indici viene solitamente eseguito come processo asincrono in background durante i periodi in cui l'attività del database è limitata.

Tabelle con identiche caratteristiche di aggiornamento (ad esempio, un numero ridotto o elevato di modifiche oppure tabelle che vengono modificate di frequente a una determinata ora del giorno) dovrebbero essere raggruppate e assegnate allo stesso catalogo full-text. Impostando le pianificazioni di popolamento del catalogo full-text in questo modo, gli indici full-text rimarranno sincronizzati con le tabelle senza determinare un maggiore utilizzo delle risorse del server di database durante i periodi di elevata attività del database.

È importante pianificare l'inserimento di indici full-text per le tabelle nei cataloghi full-text. Quando si assegna una tabella a un catalogo full-text, vanno considerate le linee guida seguenti:

Selezionare sempre il più piccolo indice univoco disponibile per la chiave univoca full-text. Un indice basato su valori integer a quattro byte è l'impostazione ottimale. Ciò consente di ridurre notevolmente le risorse richieste dal servizio Microsoft Search nel file system. Se la chiave primaria è di grandi dimensioni (oltre 100 byte), considerare la possibilità di scegliere un altro indice univoco nella tabella (o di creare un altro indice univoco) come chiave univoca full-text. In caso contrario, se le dimensioni della chiave univoca raggiungono il massimo consentito (900 byte), non sarà possibile eseguire il popolamento full-text.

Se viene indicizzata una tabella che include milioni di righe, assegnarla al proprio catalogo full-text.

Considerare la quantità di modifiche apportate alle tabelle durante l'indicizzazione full-text e il numero di righe delle tabelle. Se il numero totale di righe modificate sommato al numero di righe nella tabella presenti durante l'ultimo popolamento full-text corrisponde a milioni di righe, assegnare la tabella al proprio catalogo full-text.

Vedere anche

Concetti

Indici full-text
Introduzione alla ricerca full-text
Architettura della ricerca full-text
Esecuzione di query su SQL Server tramite la ricerca full-text

Altre risorse

Concetti di base sulla ricerca full-text

Guida in linea e informazioni

Assistenza su SQL Server 2005