Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

FREETEXTTABLE ha sempre un rango di 0

Ho lo stesso problema e risposta attualmente accettata non è una soluzione per me.

Sì, la classifica è fatta come detto da questa risposta, ma non è affatto un motivo per avere risultati incoerenti quando sono trascorse alcune volte dall'ultima ricostruzione del catalogo. La classifica non dovrebbe cambiare drasticamente dopo la ricostruzione e ancor meno alcuni minuti dopo la ricostruzione...

Per me, c'è un bug in freetexttable classifica. (Bug che non interessa containstable ranking:l'ho verificato io stesso con il mio catalogo di bug ed è anche scritto su questo post del forum Microsoft .)

Da questo altro post del forum Microsoft sembra che questo bug si verifichi solo nel catalogo con solo pochissime righe indicizzate. L'aggiunta di dati al catalogo fa scomparire il bug.

Quindi ecco la mia risposta, tratta da Pavel Valenta su un altro post del forum Microsoft :

Se il tuo catalogo reale non avrà più di qualche centinaio di righe indicizzate, aggiungi una tabella fittizia al tuo catalogo per avere più righe indicizzate.

Questo non inquinerà i tuoi risultati a causa del modo in cui vengono costruite le query. Sì, questa sembra una soluzione piuttosto strana. Ma questo è l'unico che mi ha risolto il problema.

Un'ultima nota:ho avuto questo problema con sql 2005 sp4, non testato con 2008. (La domanda è per il 2008.)