Texte libre SQL et similaire
-
06-07-2019 - |
Question
Si j'utilise comme "% poisson%", les éléments suivants sont renvoyés
FLOCONS DE POISSONS DYNAMIQUES AQUARIAN
mais si j'utilise Contains ([Description], '"poisson *"), il n'y a rien que je puisse faire?
En gros, je veux renvoyer tout ce qui contient le mot poisson partout.
La solution
Qu'en est-il de
CONTAINS([Description], '"fish"')
ou
FREETEXT([Description], 'fish')
Est-ce que cela vous donne quelque chose?
L'indexation SQL Server Fulltext ne prend pas en charge la recherche d'une expression avec un caractère générique principal, par exemple. vous ne pouvez pas aller un CONTIENT ([Description], '"* poisson *")
ou quelque chose comme ça: - (
Vous pouvez également définir votre propre synonyme pour la recherche en texte intégral, par exemple. définir " poisson rouge " être un synonyme de "poisson" - que vous devriez être en mesure de rechercher uniquement " poisson " et trouvez également "poisson rouge".
SELECT (list of fields) FROM YourTable
WHERE CONTAINS([Description], 'FORMSOF(THESAURUS, fish)')
Découvrez Comprendre l’indexation de texte intégral dans SQL Server - l’article sur la modification du thésaurus de texte intégral contient une bonne section.
Marc