Condividi tramite


Opzione di configurazione del server transform noise words Server

Utilizzare 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 è 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 di transform noise words

In questa sezione viene illustrato il comportamento di query che contengono una parola non significativa, "the", quando vengono utilizzate 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 l'impostazione di transform noise words su 0:

    Stringa 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 l'impostazione di transform noise words su 1:

    Stringa 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

Nell'esempio seguente il valore di transform noise words viene impostato su 1.

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

Vedere anche

Riferimento

CONTAINS (Transact-SQL)

Concetti

Opzioni di configurazione del server