Condividi tramite


Configurare e gestire i segmentatori di parole e gli stemmer per la ricerca

Word breaker e stemmer eseguono l'analisi linguistica su tutti i dati con indicizzazione full-text. L'analisi linguistica implica la ricerca dei limiti delle parole (interruzione delle parole) e la coniugazione di verbi (stemming). Word breaker e stemmer sono specifici della lingua e le regole per l'analisi linguistica variano a seconda della lingua. Per una determinata lingua, un word breaker identifica le singole parole determinando dove esistono limiti di parola in base alle regole lessicali della lingua. Ogni parola (anche nota come token) viene inserita nell'indice full-text utilizzando una rappresentazione compressa per ridurne le sue dimensioni. Lo stemmer genera forme flessive di una particolare parola in base alle regole di quella lingua, ad esempio "running", "ran" e "runner" sono varie forme della parola "run".

L'uso di frammentatori di parole specifici della lingua consente ai termini risultanti di ottenere una maggiore precisione per tale lingua. Se è disponibile un word breaker per la famiglia linguistica, ma non per una specifica lingua secondaria, viene utilizzata la lingua principale. Il word breaker francese viene ad esempio utilizzato anche per la gestione di testo redatto in francese canadese. Se per una particolare lingua non sono disponibili word breaker, verrà utilizzato il word breaker della lingua neutra. Con il separatore di parole neutro, le parole vengono spezzate in corrispondenza di caratteri neutri, ad esempio spazi e segni di punteggiatura.

Registrazione dei segmentatori di parole

Affinché i word breaker di una lingua vengano usati, devono essere registrati. Per i segmentatori di parole registrati, gli stemmer linguistici associati, le parole di disturbo e i file del thesaurus diventano disponibili anche per le operazioni di indicizzazione e interrogazione full-text. Per visualizzare un elenco delle lingue i cui word breaker sono attualmente registrati con SQL Server, usare l'istruzione Transact-SQL seguente:

SELECT * FROM sys.fulltext_languages

Se si aggiunge, rimuove o modifica un segmentatore di parole, è necessario aggiornare l'elenco degli identificatori locali (LCID) di Microsoft Windows supportati per l'indicizzazione e le query full-text. Per ulteriori informazioni, vedere Visualizzazione o modifica di filtri e separatori di parole registrati.

Impostazione dell'opzione predefinita Full-Text lingua

Per una versione localizzata di SQL Server, il programma di installazione di SQL Server imposta l'opzione default full-text language sulla lingua del server se esiste una corrispondenza appropriata. Per una versione non localizzata di SQL Server, l'opzione default full-text language è inglese.

Quando si crea o si modifica un indice full-text, è possibile specificare una lingua diversa per ogni colonna indicizzata full-text. Se non viene specificata alcuna lingua per una colonna, il valore predefinito è il valore dell'opzione default full-text languagedi configurazione .

Annotazioni

È necessario che a tutte le colonne elencate in una singola clausola di funzione per query full-text venga applicata la stessa lingua, a meno che nella query l'opzione LANGUAGE non sia specificata. La lingua utilizzata per la colonna indicizzata full-text oggetto della query determina l'analisi linguistica eseguita sugli argomenti dei predicati (CONTAINS e FREETEXT) e delle funzioni (CONTAINSTABLE e FREETEXTTABLE) delle query full-text.

Scelta della lingua per una colonna indicizzata

Quando si crea un indice full-text, è consigliabile specificare una lingua per ogni colonna indicizzata. Se non viene specificata alcuna lingua per una colonna, viene utilizzata quella predefinita di sistema. La lingua di una colonna determina il word breaker e lo stemmer utilizzati per l'indicizzazione di quella colonna. Anche il file del thesaurus di quella lingua verrà utilizzato dalle query full-text sulla colonna.

Quando si crea un indice full-text, è necessario considerare alcuni aspetti relativi alla scelta della lingua delle colonne. Tali considerazioni riguardano il modo in cui il testo viene suddiviso in token e quindi indicizzato dal motore di ricerca full-text. Per altre informazioni, vedere Scelta di una lingua durante la creazione di un indice full-text.

Per visualizzare la lingua del word breaker di una colonna

Ottenere informazioni sui divisori di parole

Visualizzazione del risultato della tokenizzazione di una combinazione di segmentatore di parole, thesaurus e lista di parole comuni

Per restituire informazioni sui word breaker registrati

Risoluzione dei problemi Word-Breaking errori di timeout

Un errore di timeout di word breaking può verificarsi in diverse situazioni. Per informazioni su queste situazioni e su come rispondere in ogni situazione, vedere MSSQLSERVER_30053.

Comprendere l'impatto dei nuovi separatori di parole

Ogni versione di SQL Server include in genere nuovi word breaker con regole linguistiche migliori e maggiore accuratezza rispetto alle versioni precedenti. È possibile che il comportamento dei nuovi word breaker sia leggermente diverso da quello dei word breaker negli indici full-text importati da versioni precedenti di SQL Server. Questo aspetto è rilevante se si importa un catalogo full-text al momento dell'aggiornamento di un database alla versione corrente di SQL Server. Una o più lingue utilizzate dagli indici full-text nel catalogo full-text potrebbero ora essere associate a nuovi analizzatori di parole. Per altre informazioni, vedere Upgrade Full-Text Search.

Per un elenco completo di tutti i word breaker, vedere sys.fulltext_languages (Transact-SQL).

Vedere anche

ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)
Configurare e gestire parole non significative ed elenchi di parole non significative per la ricerca full-text
Aggiornare la ricerca full-text