Condividi tramite


Differenze di comportamento nella ricerca full-text

In questo argomento vengono descritte le modifiche del comportamento nella ricerca full-text. Queste modifiche influiscono sulle modalità di utilizzo o di interazione delle funzionalità in SQL Server 2012 rispetto alle versioni precedenti di SQL Server.

Modifiche del comportamento nella ricerca full-text in SQL Server 2012

In SQL Server 2012 viene installata una nuova versione dei word breaker e degli stemmer per l'Inglese (Stati Uniti), LCID 1033, e l'Inglese (Regno Unito), LCID 2057. È tuttavia possibile passare alla versione precedente di questi componenti se si desidera mantenere il comportamento precedente. Per ulteriori informazioni, vedere Modifica del word breaker utilizzato per le lingue Inglese (Stati Uniti) e Inglese (Regno Unito).

Installazione di word breaker e stemmer nuovi

SQL Server 2012 consente di aggiornare tutti i word breaker e stemmer utilizzati dalla ricerca full-text e semantica. Per coerenza tra il contenuto di indici e i risultati di query, si consiglia di ripopolare gli indici full-text esistenti.

  1. Sono disponibili word breaker nuovi per l'inglese. Se è necessario mantenere il comportamento precedente, vedere Modifica del word breaker utilizzato per le lingue Inglese (Stati Uniti) e Inglese (Regno Unito).

  2. I word breaker di terze parti per danese, polacco e turco inclusi con versioni precedenti di SQL Server sono stati sostituiti con componenti Microsoft. I nuovi componenti sono abilitati per impostazione predefinita.

  3. Sono disponibili word breaker nuovi per il ceco e il greco. Nelle versioni precedenti della ricerca full-text di SQL Server non è incluso il supporto per queste due lingue.

Modifiche di comportamento dei nuovi word breaker e stemmer

I nuovi componenti potrebbero restituire risultati diversi rispetto ai componenti meno recenti quando si popola e si esegue una query sugli indici full-text. Nelle tabelle seguenti si illustrano alcune delle possibili differenze nei risultati in lingua inglese.

Se è necessario mantenere il comportamento precedente dei word breaker e degli stemmer, vedere gli argomenti seguenti:

In alcuni casi, i nuovi componenti restituiscono più risultati:

Nome

Risultati con word breaker e stemmer precedenti

Risultati con word breaker e stemmer nuovi

cat-dog

cat

dog

cat

cat-dog

dog

cat@dog.com

cat

com

dog

cat

cat@dog.com

com

dog

12/11/2011

(dove il nome è una data)

12/11/2011

dd20111211

11

12

12/11/2011

2011

dd20111211

In alcuni casi, vengono restituiti risultati simili dai nuovi componenti:

Nome

Risultati con word breaker e stemmer precedenti

Risultati con word breaker e stemmer nuovi

100$

100$

nn100$

100$

nn100usd

022

022

nn022

022

nn22

10:49AM

(dove il nome è un'ora)

10:49am

tt1049

10:49am

tt24104900

In alcuni casi, vengono restituiti meno risultati dai nuovi componenti oppure risultati non previsti dalle applicazioni:

Nome

Risultati con word breaker e stemmer precedenti

Risultati con word breaker e stemmer nuovi

jěˊÿqℭžl

(dove i nomi sono caratteri inglesi non validi)

‘jěˊÿqℭžl’

je yq zl

table's

table’s

tabella

table’s

cat-

cat

cat-

cat

v-z(dove v e z sono parole non significative)

(nessun risultato)

v-z

$100 000 USD

$100

000

nn000

nn100$

usd

$100 000 usd

nn100000usd

beautiful U.S land

beautiful

land

u.s

us

beautiful

land

Mt. Kent and Mt Challenger

challenger

kent

mt

mt.

mt

kent

challenger

Modifiche del comportamento nella ricerca full-text in SQL Server 2008

In SQL Server 2008 e versioni successive il motore di ricerca full-text è integrato come servizio di database nel database relazionale come parte dell'infrastruttura del motore di archiviazione e di query del server. L'architettura della nuova ricerca full-text consente di raggiungere i seguenti obiettivi:

  • Archiviazione e gestione integrate: la ricerca full-text è ora integrata direttamente con le funzionalità intrinseche di archiviazione e gestione di SQL Server e non esiste più il servizio MSFTESQL. 

    • Gli indici full-text vengono archiviati nei filegroup del database, anziché nel file system. Le operazioni amministrative su un database, ad esempio la creazione di un backup, influiscono automaticamente sugli indici full-text.

    • Un catalogo full-text è ora un oggetto virtuale che non appartiene ad alcun filegroup. Si tratta di un concetto logico che fa riferimento a un gruppo di indici full-text. Pertanto, molte funzionalità di gestione dei cataloghi sono state deprecate comportando modifiche di rilievo per alcune funzionalità. Per ulteriori informazioni, vedere Funzionalità del Motore di database deprecate in SQL Server 2012 e Modifiche di rilievo alla ricerca full-text.

      [!NOTA]

      Le istruzioni DDL Transact-SQL di SQL Server 2005 che specificano cataloghi full-text funzionano correttamente.

  • Elaborazione di query integrata: il nuovo Query Processor della ricerca full-text fa parte del motore di database ed è completamente integrato con Query Processor di SQL Server. Ciò significa che Query Optimizer riconosce i predicati di query full-text eseguendoli automaticamente nel modo più efficiente possibile.

  • Amministrazione e risoluzione dei problemi migliorate: la ricerca full-text integrata fornisce gli strumenti per analizzare le strutture di ricerca quali l'indice full-text, l'output di un word breaker specifico, la configurazione di parole non significative e così via.

  • I file di parole non significative sono stati sostituiti dagli elenchi di parole non significative. Un elenco di parole non significative è un oggetto di database tramite cui vengono facilitate le attività di gestibilità delle parole non significative e migliorata l'integrità tra istanze e ambienti del server diversi. Per ulteriori informazioni, vedere Configurare e gestire parole non significative ed elenchi di parole non significative per la ricerca full-text.

  • In SQL Server 2008 e versioni successive sono disponibili nuovi word breaker per molte delle lingue presenti in SQL Server 2005. Solo i word breaker per inglese, coreano, tailandese e cinese (tutti i tipi) restano invariati. Se per le altre lingue è stato importato un catalogo full-text durante l'aggiornamento di un database di SQL Server 2005 a SQL Server 2008 o versione successiva, è possibile che una o più lingue utilizzate dagli indici full-text nel catalogo full-text siano ora associate ai nuovi word breaker. Il comportamento dei nuovi word breaker potrebbe essere leggermente diverso da quello dei word breaker importati. Per ulteriori informazioni sul modo in cui garantire la coerenza tra le query e il contenuto degli indici full-text, vedere Aggiornamento della ricerca full-text in SQL Server 2005.

  • È stato aggiunto un nuovo servizio per l'utilità di avvio FDHOST (MSSQLFDLauncher). Per ulteriori informazioni, vedere Introduzione alla ricerca full-text.

  • L'indicizzazione full-text viene eseguita per una colonna FILESTREAM nello stesso modo in cui avviene per una colonna varbinary(max). La tabella FILESTREAM deve avere una colonna che contiene l'estensione del nome file per ogni BLOB FILESTREAM. Per ulteriori informazioni, vedere Esecuzione della query con ricerca Full-Text,Configurazione e gestione di filtri per la ricerca e sys.fulltext_document_types (Transact-SQL).

    Il motore full-text consente di indicizzare il contenuto dei BLOB FILESTREAM. L'indicizzazione di file di immagini, ad esempio, potrebbe non essere utile. Un BLOB FILESTREAM viene reindicizzato quando viene aggiornato.

Vedere anche

Concetti

Ricerca full-text (SQL Server)

Aggiornamento della ricerca full-text in SQL Server 2005

Introduzione alla ricerca full-text

Altre risorse

Compatibilità con le versioni precedenti della ricerca full-text