Condividi tramite


Configurazione del server: trasformare parole di disturbo

Si applica a:SQL Server

Usare l'opzione di configurazione del server transform noise words per eliminare un messaggio di errore nel caso in cui parole non significative (note anche come stopwords) causino un'operazione booleana in una query full-text a restituire 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 (predefinito) Le parole vuote (o stopwords) 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.

Nota: L'avviso è un avviso di runtime. 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. Vengono ignorati e il resto della query viene valutato.

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)'). Nota:CONTAINS(<column_name>, 'NEAR(hello,is)') sarebbe stato trasformato in semplicemente CONTAINS(<column_name>, hello) perché c'è un solo termine di ricerca valido.

Effetti dell'impostazione delle parole di rumore nella trasformazione

In questa sezione viene illustrato il comportamento delle query contenenti una parola non significativa, the, nelle impostazioni alternative di transform noise words. Si presuppone che le stringhe di query full-text di esempio vengano eseguite su una riga di tabella contenente 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 E the Nessun risultato (il comportamento è lo stesso per the AND cat).
    cat VICINO the Nessun risultato (il comportamento è lo stesso per the NEAR cat).
    the E NON black Nessun risultato
    black E NON the Nessun risultato
  • Con transform noise words impostato su 1:

    Stringa di query Risultato
    cat E the Riscontro per la riga con ID 1
    cat VICINO the Riscontro per la riga con ID 1
    the E NON black Nessun risultato
    black E NON the Riscontro per la riga con ID 1

Esempi

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

EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
GO

EXECUTE sp_configure 'transform noise words', 1;
RECONFIGURE;
GO