2008-08-24 9 views
3

Il existe un request pour que le SO recherche par défaut une fonctionnalité de style ET sur le OU actuel lorsque plusieurs termes sont utilisés.Pouvez-vous effectuer une recherche AND de mots-clés en utilisant FREETEXT() sur SQL Server 2005?

La réponse officielle était:

pas aussi simple que cela puisse paraître; nous utilisons la fonction FREETEXT() de SQL Server 2005, et je ne peux pas trouver un moyen de spécifier ET par rapport OU - pouvez-vous?

Alors, y a-t-il un moyen?

Il ya un number of resources là-dessus je peux trouver, mais je ne suis pas un expert.

+0

La réponse [ici] (http://www.eggheadcafe.com/software/aspnet/32492834/freetext-and--ou.aspx) prétend que ce n'est pas possible. –

Répondre

1

OK, ce changement est - nous utilisons maintenant CONTAINS() avec implicite AND au lieu de FREETEXT() et son OR implicite.

2

Pour autant que j'ai vu, il est pas possible de le faire et lors de l'utilisation FREETEXT() sous SQL 2005 (ni 2008, afaik).

Une requête FREETEXT ignore les opérateurs booléens, de proximité et génériques par conception. Cependant, vous pouvez le faire:

WHERE FREETEXT('You gotta love MS-SQL') > 0 
AND FREETEXT('You gotta love MySQL too...') > 0 

Ou c'est ce que je pense :)

- L'idée est de rendre à évaluer booléenne, vous pouvez utiliser des opérateurs booléens. Je ne sais pas si cela donnerait une erreur ou non. Je pense que devrait fonctionner. Mais le matériel de référence indique que cela n'est pas possible par conception.

L'utilisation de CONTAINS() au lieu de FREETEXT() pourrait aider.

1

Je viens de commencer à lire à propos de freetext alors portez-moi. Si ce que vous essayez de faire est de permettre une recherche de balise, par exemple VB, trouver des objets marqués VB6, Visual Basic, VisualBasic et VB.Net, ces valeurs ne seront-elles pas définies comme synonymes dans le thésaurus de la base de données plutôt que dans les paramètres de requête ?

Si tel est bien le cas, ce link on MSDN explique comment ajouter des éléments au Thésaurus.

Questions connexes