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