2017-09-27 5 views
0

J'ai une base de données SQL Azure et j'ai essayé la recherche de texte intégral. Est-il possible de rechercher une phrase complète?Recherche de texte intégral dans SQL Server avec des phrases complètes

E.g. requête avec LIKE-opérateur qui fonctionne (mais probablement pas vite que la recherche en texte intégral):

SELECT Sentence 
FROM Sentences 
WHERE 'This is a whole sentence for example.' LIKE '%'+Sentence+'%' 

renverrait: « une phrase »

je besoin de quelque chose comme ça avec la recherche en texte intégral:

SELECT Sentence 
FROM Sentences 
WHERE FREETEXT(WorkingExperience,'This is a whole sentence for example.') 

Cela retournera chaque hit sur un mot, mais pas sur la phrase complète. E.g. reviendrait: "une phrase entière" et "une autre phrase". Est-ce possible ou dois-je utiliser l'opérateur LIKE?

Répondre

1

Avez-vous essayé ceci:

SELECT Sentence 
FROM Sentences 
WHERE FREETEXT(WorkingExperience,'"This is a whole sentence for example."') 

Si ne vous fonctionne pas ci-dessus peut avoir besoin pour construire la chaîne de recherche appropriée FTS utilisant l'opérateur AND, comme ci-dessous:

SELECT Sentence 
FROM Sentences 
WHERE FREETEXT(WorkingExperience,'"This" AND "is" AND "a" AND "whole" 
        AND "sentence" AND "for" AND "example."') 

En outre, pour correspondance plus précise, je recommande d'utiliser CONTAINS ou CONTAINSTABLE:

SELECT Sentence 
FROM Sentences 
WHERE CONTAINS(WorkingExperience,'"This is a whole sentence for example."') 

HTH

+0

Merci pour votre aide! La version FREETEXT fonctionne comme sans le "..". La version CONTAINS retournera juste l'entrée qui contient exactement "Ceci est une phrase entière par exemple". et pas avec l'opérateur LIKE l'entrée avec "une phrase entière" –

+0

@ tschännie ainsi répond-il à vos exigences ou non? Si vous avez besoin de résultats exacts seulement avec "une phrase entière", alors raccourcissez la condition dans la version 'CONTAINS' à CONTAINS (WorkingExperience, '" une phrase entière "')' ou 'CONTAINS (WorkingExperience, '" un "AND" toute la phrase "ET" ""). – andrews

+0

non, il ne répond pas à mes exigences .. Je ne peux pas raccourcir la condition. La phrase que je dois rechercher dépend de l'entrée de l'utilisateur .. –