Modifiche di rilievo alla ricerca full-text
In questo argomento vengono descritte le modifiche di rilievo apportate alla ricerca full-text. Tali modifiche potrebbero interrompere il funzionamento di applicazioni, funzionalità o script basati su versioni precedenti di SQL Server. È possibile che questi problemi si verifichino quando viene effettuato un aggiornamento. Per ulteriori informazioni, vedere Utilizzare Preparazione aggiornamento per preparare gli aggiornamenti.
Modifiche di rilievo nella ricerca full-text in SQL Server 2012
Regole di confronto modificate per la colonna name in sys.fulltext_languages
Le regole di confronto della colonna name nella vista del catalogo sys.fulltext_languages (Transact-SQL) sono state modificate dalle regole di confronto fisse del database Resource alle regole di confronto predefinite selezionate per l'istanza di SQL Server. Questa modifica consente di confrontare i valori nella colonna name quando si crea un join della vista sys.syslanguages (Transact-SQL) con sys.fulltext_languages. Ad esempio, è possibile eseguire una query per tutti i database dove l'opzione di configurazione full-text language è diversa dal linguaggio di database predefinito.
Modifiche di rilievo nella ricerca full-text in SQL Server 2008
Le modifiche di rilievo riportate di seguito vengono applicate alla ricerca full-text tra SQL Server 2005 e SQL Server 2008 e versioni successive.
Funzionalità |
Scenario |
SQL Server 2005 |
SQL Server 2008 e versioni successive |
---|---|---|---|
CONTAINSTABLE con tipi definiti dall'utente (UDT) |
La chiave full-text è un tipo definito dall'utente (UDT) di SQL Server, ad esempio MyType = char(1). |
La chiave restituita è del tipo assegnato al tipo definito dall'utente (UDT). Nell'esempio corrisponde a char(1). |
La chiave restituita è del tipo definito dall'utente (UDT). Nell'esempio corrisponde a MyType. |
Parametro top_n_by_rank (delle istruzioni Transact-SQL CONTAINSTABLE e FREETEXTTABLE) |
Query top_n_by_rank che utilizzano 0 come parametro. |
Ha esito negativo e viene restituito un messaggio di errore indicante che è necessario utilizzare un valore maggiore di zero. |
Ha esito positivo e vengono restituite zero righe. |
CONTAINSTABLE e ItemCount |
Eliminare righe dalla tabella di base prima che vengano inserite modifiche in MSSearch. |
Viene restituito un record fantasma da CONTAINSTABLE. ItemCount non viene modificato. |
Non viene restituito alcun record fantasma da CONTAINSTABLE. |
ItemCount |
Nella tabella sono contenuti documenti o colonne del tipo Null. |
Oltre ai documenti indicizzati, nel valore ItemCount vengono conteggiati documenti Null o associati a tipi Null. |
Nel valore ItemCount vengono conteggiati solo i documenti indicizzati. |
ItemCount di catalogo |
Colonna BLOB con estensione NULL. |
È conteggiata in ItemCount di catalogo. |
Non è conteggiata in ItemCount di catalogo. |
UniqueKeyCount |
Esecuzione di una query su un conteggio di chiavi univoche da un catalogo, ad esempio due tabelle, tabella1 e tabella2, ciascuna con tre parole, parola1, parola2 e parola3. |
UniqueKeyCount = 9. Nella tabella seguente viene descritto il modo in cui si ottiene questo valore: tabella1 = 3 EOF per indice full-text di tabella1 = 1 tabella2 = 3 EOF per indice full-text di tabella2 = 1 Catalogo full-text = 1 |
Per ogni tabella UniqueKeyCount è il numero di parole chiave DISTINCT + 1 (0xFF). NON considera le stesse parole in > 1 doc come nuova chiave univoca. Per un catalogo, UniqueKeyCount è la somma di UniqueKeyCount di ognuna delle tabelle nel catalogo. Parole identiche di tabelle diverse vengono considerate chiavi univoche. In questo caso il conteggio di chiavi univoche è 8. |
Opzione a livello di server precompute rank |
Ottimizzazione delle prestazioni delle query FREETEXTTABLE. |
Se l'opzione è impostata su 1, le query FREETEXTTABLE specificate con top_n_by_rank utilizzano i dati precalcolati relativi alla pertinenza archiviati nei cataloghi full-text. |
Non è supportata. |
sp_fulltext_pendingchanges quando si aggiorna una colonna chiave |
Aggiornare la colonna chiave full-text in una riga di una tabella a 2 righe ed eseguire sp_fulltext_pendingchanges. |
Vengono visualizzate entrambe le righe. |
Viene visualizzata solo una riga. |
Funzioni inline |
Funzioni inline con un operatore full-text |
Viene restituito un messaggio di errore. |
Vengono restituite le righe pertinenti. |
Abilitare o disabilitare la ricerca full-text utilizzando sp_fulltext_database. |
Non viene restituito alcun risultato per le query full-text. Se la funzionalità full-text è disabilitata per il database, le operazioni full-text non sono consentite. |
Restituisce risultati nelle query full-text e le operazioni full-text sono consentite, anche se la funzionalità full-text è disabilitata per il database. |
|
Parole non significative specifiche delle impostazioni locali |
Query in varianti specifichedelle impostazioni locali di una lingua padre, ad esempio Francese (Belgio) e Francese (Canada). |
Le query in varianti specifichedelle impostazioni locali vengono elaborate dai componenti (word breaker, stemmer e parole non significative) della lingua padre. I componenti della lingua Francese (Francia), ad esempio, vengono utilizzati per l'analisi della lingua Francese (Belgio). |
È necessario aggiungere in modo esplicito parole non significative per ogni identificatore delle impostazioni locali (LCID). È necessario, ad esempio, specificare un LCID per Belgio, Canada e Francia. |
Processo di stemming del thesaurus |
Utilizzo del thesaurus e di forme flessive (stemming). |
Viene eseguito lo stemming automatico di una parola del thesaurus in seguito all'espansione. |
Se si desidera la forma flessiva nell'espansione, è necessario aggiungerla in modo esplicito. |
Percorso e filegroup del catalogo full-text |
Utilizzo di cataloghi full-text. |
Ogni catalogo full-text in cui è presente un percorso fisico, appartiene a un filegroup. e viene considerato un file di database. |
Un catalogo full-text è un oggetto virtuale e non appartiene ad alcun filegroup. Un catalogo full-text è un concetto logico che fa riferimento a un gruppo di indici full-text.
|
Utilizzo di path, data_space_id e file_id nella vista del catalogo. |
Queste colonne restituiscono un valore specifico. |
Queste colonne restituiscono NULL perché il catalogo full-text non si trova più nel file system. |
|
Utilizzo della colonna path di questa tabella di sistema deprecata. |
Restituisce il percorso del file system del catalogo full-text. |
Restituisce NULL perché il catalogo full-text non si trova più nel file system. |
|
Utilizzo della colonna PATH di queste stored procedure deprecate. |
Restituisce il percorso del file system del catalogo full-text. |
Restituisce NULL perché il catalogo full-text non si trova più nel file system. |
|
Utilizzo di sp_help_fulltext_catalog_components di questa stored procedure. |
Viene restituisce un elenco di tutti i componenti (filtri, word breaker e gestori di protocollo) utilizzati per tutti i cataloghi full-text nel database corrente. |
Vengono restituite righe vuote. |
|
Utilizzo della proprietà IsFullTextEnabled. |
L'impostazione IsFullTextEnabled indica se la ricerca full-text è abilitata in un database specifico. |
Il valore di questa colonna non ha alcun effetto. I database utente sono sempre abilitati per la ricerca full-text. |