Configurare e gestire parole non significative ed elenchi di parole non significative per la ricerca full-text

Si applica a:SQL ServerDatabase SQL di Azure

Per garantire l'efficienza di un indice full-text, SQL Server è dotato di un meccanismo che rimuove le stringhe più frequenti, inutili ai fini della ricerca. Queste stringhe scartate vengono denominate parole non significative. Durante la creazione dell'indice, il motore di ricerca full-text omette le parole non significative dall'indice full-text, in modo che le query full-text non eseguano ricerche in tali parole.

Parole non significative. Una parola non significativa può essere una parola con un significato in una lingua specifica. Nella lingua italiana, ad esempio, parole quali "circa", "con", "devo" e "cui" vengono escluse dall'indice full-text poiché in pratica risultano inutili ai fini della ricerca. Una parola non significativa può anche essere un token che non ha un significato linguistico.

Elenchi di parole non significative. Le parole non significative vengono gestite nei database utilizzando oggetti denominati elenchi di parole non significative. Un elenco di parole non significative è un elenco che, quando associato a un indice full-text, viene applicato alle query full-text su tale indice.

Usare un elenco di parole non significative esistente

È possibile usare un elenco di parole non significative esistente in uno dei modi seguenti:

  • Usare l'elenco di parole non significative fornito dal sistema nel database. SQL Server include un elenco di parole non significative che contiene le parole non significative più comuni per ogni lingua supportata, ovvero per ogni lingua associata a word breaker specifici per impostazione predefinita. È possibile copiare l'elenco di parole non significative di sistema e personalizzarne una copia aggiungendone e rimuovendone alcune.

    L'elenco di parole non significative di sistema è installato nel database Resource .

  • Usare un elenco di parole non significative personalizzato esistente da qualsiasi altro database nell'istanza del server corrente e quindi aggiungere ed eliminare le parole non significative in base alle specifiche esigenze.

Creare un nuovo elenco di parole non significative

Creare un nuovo elenco di parole non significative con Transact-SQL

Usare CREATE FULLTEXT STOPLIST.

Creare un nuovo elenco di parole non significative con Management Studio

  1. In Esplora oggetti espandere il server.

  2. Espandere Database, quindi espandere il database in cui si vuole creare l'elenco di parole non significative full-text.

  3. Espandere Archivio, quindi fare clic con il pulsante destro del mouse su Elenchi di parole non significative full-text.

  4. Selezionare Nuovo elenco di parole non significative full-text.

  5. Immettere il nome del nuovo elenco.

  6. Facoltativamente, specificare un altro utente come proprietario dell'elenco di parole non significative.

  7. Selezionare una delle opzioni di creazione di un elenco di parole non significative seguenti:

    • Creare un elenco di parole non significative vuoto

    • Creare un elenco di parole non significative da un elenco di parole non significative di sistema

    • Creare un elenco di parole non significative da un elenco di parole non significative full-text esistente

    Per altre informazioni, vedi Nuovo elenco di parole non significative full-text (pagina Generale).

  8. Seleziona OK.

Usare un elenco di parole non significative nelle query full-text

Per usare un elenco di parole non significative nelle query, è necessario associarlo a un indice full-text. È possibile associare un elenco di parole non significative a un indice full-text quando si crea l'indice oppure è possibile modificare l'indice in seguito per aggiungere un elenco.

Creare un indice full-text e associare un elenco di parole non significative

Usa CREATE FULLTEXT INDEX (Transact-SQL).

Associare o annullare l'associazione di un elenco di parole non significative a un indice full-text esistente

Usa ALTER FULLTEXT INDEX (Transact-SQL).

Modificare le parole non significative in un elenco

Aggiungere o eliminare parole non significative in un elenco con Transact-SQL

Usa ALTER FULLTEXT STOPLIST (Transact-SQL).

Aggiungere o eliminare parole non significative in un elenco con Management Studio

  1. In Esplora oggetti espandere il server.

  2. Espandere Database, quindi espandere il database.

  3. Espandere Archiviazione, quindi selezionare Elenco di parole non significative full-text.

  4. Fare clic con il pulsante destro del mouse sull'elenco di parole non significative che si vuole modificare, quindi scegliere Proprietà.

  5. Nella finestra di dialogo Proprietà elenco di parole non significative full-text :

    1. Nella casella di riepilogo Azione selezionare una delle azioni seguenti: Aggiungi parola non significativa, Elimina parola non significativa, Elimina tutte le parole non significativeo Cancella elenco di parole non significative.

    2. Se la casella di testo Parola non significativa è abilitata per l'azione selezionata, immettere una singola parola non significativa. Questa parola deve essere univoca, ovvero non ancora inclusa nell'elenco di parole non significative per la lingua selezionata.

    3. Se la casella di riepilogo Full-text language è abilitata per l'azione selezionata, selezionare una lingua.

  6. Seleziona OK.

Gestire gli elenchi di parole non significative e il relativo utilizzo

Visualizzare tutte le parole non significative riunite in un elenco

Usa sys.fulltext_stopwords (Transact-SQL).

Ottenere informazioni su tutti gli elenchi di parole non significative nel database corrente

Usa sys.fulltext_stoplists (Transact-SQL) and sys.fulltext_stopwords (Transact-SQL).

Visualizzare il risultato della suddivisione in token di una combinazione di word breaker, thesaurus ed elenchi di parole non significative

Usa sys.dm_fts_parser (Transact-SQL).

Eliminare un messaggio di errore visualizzato nel caso in cui le parole non significative impediscono l'esecuzione di un'operazione booleana in una query full-text

Usare l'opzione di configurazione del server transform noise words.

Altre informazioni sulla posizione delle parole non significative

Anche se ignora l'inclusione di parole non significative, l'indice full-text ne prende in considerazione la posizione. Si consideri ad esempio la frase "Istruzioni non valide per questi modelli Adventure Works Cycles". Nella tabella seguente viene illustrata la posizione delle parole nella frase:

Word Position
Istruzioni 1
non 2
valide 3
to 4
questi 5
modelli 6
Adventure 7
Cicli 8
modelli 9

Le parole non significative "sono", "in" e "questi" nelle posizioni 2, 4 e 5 vengono escluse dall'indice full-text. Le relative informazioni di posizione vengono comunque mantenute, lasciando invariata la posizione delle altre parole nella frase.

Aggiornare le parole non significative da SQL Server 2005

Le parole non significative di SQL Server 2005 (9.x) sono state sostituite con altre parole non significative. Quando si aggiorna un database da SQL Server 2005 (9.x), i file delle parole non significative non vengono più utilizzati. Tali file vengono tuttavia archiviati nella cartella FTDATA\ FTNoiseThesaurusBak e possono essere utilizzati in seguito durante l'aggiornamento o la compilazione di elenchi di parole non significative corrispondenti. Per informazioni sull'aggiornamento dei file delle parole non significative agli elenchi corrispondenti, vedere Aggiornamento della ricerca full-text.