2011-08-05 9 views
1

Disons que j'ai une table avec des infos sur l'auteur. Le nom de l'auteur est stocké au format "Nom, prénom" (ex: King, Stephen). Cette table est interrogée par un site qui utilise la recherche de texte intégral dans Sql Server 2008. L'utilisateur final entrera presque toujours "Stephen King" qui ne rapporte aucun résultat. Cependant, si l'utilisateur tape "King Stephen", les résultats reviendront. Une requête qui fonctionne par exemple ressemble à ceci:Recherche plein texte - Termes de recherche Commander

DECLARE @SearchWord nvarchar(30) 
SET @SearchWord = N'"' + 'king stephen' + '"' 

SELECT Author 
FROM Items 
WHERE CONTAINS(Author, @SearchWord) 

Toutes les idées pourquoi je ne peux pas le terme de recherche commun (« Stephen King ») de travailler alors que le chemin hors du commun (« King Stephen ») fonctionne? Cela pourrait être dû aux citations autour du terme de recherche, mais je ne suis pas sûr de savoir comment contourner cela. Des idées? Merci.

+0

Cela a répondu à ma question. http://stackoverflow.com/questions/3441775/use-multiple-words-in-fulltext-search-input-string – ActionJackson

Répondre

0

placer les guillemets autour du terme de recherche fera un seul mot pour indexs en texte intégral, vous devez le casser en un seul mot multiple comme « roi », « stephen » pour obtenir le résultat