2009-02-06 8 views
1

Je viens d'installer la recherche de texte intégral sur ma base de données de développement. J'ai mis en place un nouvel index de texte intégral sur une table et inclus 2 colonnes dans l'index. La première colonne est appelée 'description' et est une 'varchar (100)' et l'autre colonne est appelée 'notes' et est une colonne 'texte'.Problème avec la recherche en texte intégral simple sur SQL Server 2005

Je suis en train d'effectuer une recherche simple comme ceci:

select * 
from myTable 
where freetext(description, 'another') 

Je sais pour sûr qu'il y ait au moins une ligne où la colonne « description » contient le mot « autre » comme le premier mot. Cependant, la recherche produit 0 résultat. La recherche d'autres mots semble fonctionner correctement.

En outre, lorsque j'ai configuré mon index de texte intégral, je lui ai dit de mettre à jour automatiquement l'index et d'aller de l'avant et de construire l'index immédiatement. La base de données n'a pas changé du tout depuis que je l'ai fait.

Répondre

3

SQL Server considère que 'autre' est un mot de passe (mot de bruit). Donc pour toutes fins utiles, il est ignoré lors d'une recherche FULLTEXT.

Voir C:\WINDOWS\system32\noise.eng (c'est là où il est installé sur mon système) pour une liste complète des mots de bruit/d'arrêt.

+0

Merci pour la réponse. Cela soulève cependant une autre question: que se passe-t-il lorsqu'un mot d'arrêt est contenu dans une recherche de phrase? –

+0

Je ne sais pas comment cela est géré, en fait. –

Questions connexes