transform noise words (Opzione di configurazione del server)

Si applica a:SQL Server

Usare l'opzione di configurazione del server transform noise words per evitare la visualizzazione di un messaggio di errore se, a causa di parole non significative, un'operazione booleana su una query full-text restituisce zero righe. Questa opzione è utile per le query full-text in cui viene utilizzato il predicato CONTAINS e con operazioni booleane o operazioni NEAR che includono parole non significative. I valori possibili sono illustrati nella tabella seguente.

Valore Descrizione
0 Le parole non significative non vengono trasformate. Quando una query full-text contiene parole non significative, la query restituisce zero righe e in SQL Server viene generato un avviso. Si tratta del comportamento predefinito.

Nota: l'avviso generato è un avviso di run-time. Pertanto, se la clausola full-text nella query non viene eseguita, l'avviso non viene generato. Per una query locale, viene generato un solo avviso, anche se sono presenti più clausole di query full-text. Per una query remota, il server collegato potrebbe non inoltrare l'errore ed è pertanto possibile che l'avviso non venga generato.
1 Le parole non significative vengono trasformate. Tali parole vengono ignorate e viene valutato e il resto della query.

Se vengono specificate parole non significative in un termine di prossimità, queste vengono rimosse da SQL Server. La parola non significativa is viene ad esempio rimossa da CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)'), trasformando la query di ricerca in CONTAINS(<column_name>, 'NEAR(hello,goodbye)'). Si noti che la query CONTAINS(<column_name>, 'NEAR(hello,is)') verrebbe trasformata semplicemente in CONTAINS(<column_name>, hello) in quanto vi è un solo termine di ricerca valido.

Effetti dell'impostazione transform noise words

Questa sezione illustra il comportamento delle query che contengono una parola non significativa, "the", quando vengono usate le impostazioni alternative di transform noise words. Si presuppone che le stringhe di query full-text di esempio vengano eseguite su una riga di tabella che contiene i dati seguenti: [1, "The black cat"].

Nota

In tutti gli scenari di questo tipo può venire generato un avviso di parola non significativa.

  • Con transform noise words impostato su 0:

    Stringa di query Risultato
    "cat" AND "the" Nessun risultato (il comportamento è lo stesso per "the" AND "cat").
    "cat" NEAR "the" Nessun risultato (il comportamento è lo stesso per "the" NEAR "cat").
    "the" AND NOT "black" Nessun risultato
    "black" AND NOT "the" Nessun risultato
  • Con transform noise words impostato su 1:

    Stringa di query Risultato
    "cat" AND "the" Riscontro per la riga con ID 1
    "cat" NEAR "the" Riscontro per la riga con ID 1
    "the" AND NOT "black" Nessun risultato
    "black" AND NOT "the" Riscontro per la riga con ID 1

Esempio

L'esempio seguente imposta transform noise words su 1.

sp_configure 'show advanced options', 1;  
RECONFIGURE;  
GO  
sp_configure 'transform noise words', 1;  
RECONFIGURE;  
GO  

Vedi anche

Opzioni di configurazione del server (SQL Server)
CONTAINS (Transact-SQL)