Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

FREETEXTTABLE a toujours un rang de 0

Je cours dans le même problème, et réponse actuellement acceptée n'est pas une solution pour moi.

Oui, le classement est fait comme indiqué par cette réponse, mais ce n'est en aucun cas une raison d'avoir des résultats incohérents alors que cela fait plusieurs fois depuis la dernière reconstruction du catalogue. Le classement ne devrait pas changer radicalement lors de la reconstruction et encore moins quelques minutes après la reconstruction...

Pour moi, il y a un bogue dans freetexttable classement. (Bug qui n'affecte pas containstable classement :je l'ai vérifié moi-même avec mon propre catalogue de bogues, et il est également écrit sur cet article sur le forum Microsoft .)

De cet autre message du forum Microsoft il semble que ce bogue ne se produise que dans le catalogue n'ayant que très peu de lignes indexées. L'ajout de données au catalogue fait disparaître le bogue.

Voici donc ma réponse, tirée de Pavel Valenta sur un autre message du forum Microsoft :

Si votre vrai catalogue ne va pas avoir plus de quelques centaines de lignes indexées, ajoutez une table factice à votre catalogue afin d'avoir plus de lignes indexées.

Cela ne polluera pas vos résultats en raison de la façon dont les requêtes sont construites. Oui, cela semble une solution assez étrange. Mais c'est le seul qui a résolu le problème pour moi.

Une dernière note :j'ai eu ce problème avec sql 2005 sp4, non testé avec 2008. (La question est pour 2008.)