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.
|
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