2010-10-15 5 views
0

FreeTextTable est vraiment très bien pour la recherche, car il renvoie effectivement un score de pertinence pour chaque élément qu'il trouve. Le problème est qu'il ne supporte pas l'opérateur logique ET, donc si j'ai 10 items avec le mot 'ice' dedans, mais pas 'crème', et vice versa, alors 20 résultats seront retournés, quand dans ce scénario 0 aurait dû être retourné.Bon outil de recherche SQL?

Existe-t-il des outils de remplacement pour rechercher une base de données SQL Server? Ou devrais-je juste écrire mon propre code pour fournir la fonctionnalité 'ET' (I.E. faire deux recherches séparées dans le scénario 'Ice'Cream' (fractionnement de chaque recherche par espaces))

+0

Avez-vous regardé CONTAINSTABLE au lieu de FREETEXTTABLE? Cela supporte les opérateurs booléens. –

Répondre

1

Vous pouvez essayer SQL Search de RedGate.

C'est un outil gratuit (mais pas open source) - je l'ai déjà utilisé et il est très puissant.

+1

En fait, c'est ** un ** outil ** GRATUIT ** - et très utile en effet! –

+0

@marc_s - merci pour la correction. Réponse mise à jour – Oded

+0

Je crois que maxp demande un outil pour rechercher les données de sa base de données, SQL Search regarde les éléments SCHEMA (noms de tables, noms de colonnes, etc.) – Tony

0

Étant donné que la recherche de texte intégral est activée pour utiliser FREETEXTTABLE, vous pourriez peut-être utiliser CONTAINS à la place? (Je dois être honnête, je n'ai pas utilisé la recherche en texte intégral moi-même).

Il semblerait que vous pouvez interroger comme ceci:

SELECT Name, Price FROM Product 
WHERE CONTAINS(Name, 'ice') 
AND CONTAINS(Name, 'cream') 
1

Il y a aussi un outil gratuit de recherche SQL de ApexSQL vous pouvez essayer. Il s'intègre à SSMS et peut également afficher des diagrammes de relations et aider à supprimer/renommer en toute sécurité les objets de votre base de données. Ils vous obligent à laisser vos e-mails, mais le produit lui-même est entièrement gratuit. ApexSQL Search

Questions connexes