Share via


Configurazione e gestione di word breaker e stemmer per la ricerca

Word breaker e stemmer eseguono l'analisi linguistica su tutti i dati con indicizzazione full-text. L'analisi linguistica riguarda la ricerca dell'inizio e della fine delle parole (isolamento delle parole) e la coniugazione dei verbi (flessione). Word breaker e stemmer sono specifici della lingua e le regole per l'analisi linguistica variano a seconda della lingua. Un word breaker identifica singole parole determinando i delimitatori di parola in base alle regole lessicali della lingua. Ogni parola (token) viene inserita nell'indice full-text utilizzando una rappresentazione compressa per ridurre le relative 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'utilizzo di word breaker specifici di ogni lingua consente una maggiore accuratezza dei termini risultanti per le diverse lingue. 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 word breaker della lingua neutra, le parole vengono spezzate in corrispondenza di caratteri neutri, ad esempio spazi e segni di punteggiatura.

Contenuto dell'argomento

  • Registrazione di word breaker

  • Impostazione dell'opzione relativa alla lingua predefinita full-text

  • Scelta della lingua per una colonna indicizzata

  • Come ottenere informazioni sui word breaker

  • Risoluzione dei problemi relativi agli errori di timeout del word breaking

  • Informazioni sull'impatto dei nuovi word breaker

Registrazione di word breaker

Per potere utilizzare i word breaker di una determinata lingua, è necessario registrarli. Per i word breaker registrati, anche le risorse linguistiche associate, ovvero stemmer, parole non significative e thesaurus, risultano disponibili per le operazioni di indicizzazione e query full-text. Per visualizzare un elenco delle lingue i cui word breaker sono attualmente registrati con SQL Server, utilizzare l'istruzione Transact-SQL seguente:

SELECT * FROM sys.fulltext_languages

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

Impostazione dell'opzione relativa alla lingua predefinita full-text

Per una versione localizzata di SQL Server, l'opzione della lingua predefinita full-text viene impostata dal programma di installazione di SQL Server sulla lingua del server, se esiste una corrispondenza appropriata. Per le versioni non localizzate di SQL Server, l'opzione default full-text language è impostata sull'inglese.

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

[!NOTA]

È 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 ulteriori informazioni, vedere Scelta di una lingua durante la creazione di un indice full-text.

Per visualizzare la lingua del word breaker di una colonna

Come ottenere informazioni sui word breaker

Visualizzazione del risultato della suddivisione in token di una combinazione di word breaker, thesaurus ed elenco di parole non significative

Per restituire informazioni sui word breaker registrati

Risoluzione dei problemi relativi agli errori di timeout del word breaking

Un errore di timeout del word breaking potrebbe verificarsi in diverse situazioni. Per informazioni su queste situazioni e su come rispondere, vedere MSSQLSERVER_30053.

Informazioni sull'impatto dei nuovi word breaker

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 essere associate ai nuovi word breaker. Per ulteriori informazioni, vedere Aggiornamento della ricerca full-text in SQL Server 2005.

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

Vedere anche

Riferimento

ALTER FULLTEXT INDEX (Transact-SQL)

CREATE FULLTEXT INDEX (Transact-SQL)

sp_fulltext_service (Transact-SQL)

sys.fulltext_languages (Transact-SQL)

Concetti

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

Aggiornamento della ricerca full-text in SQL Server 2005