PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PSQLException :ERREUR :erreur de syntaxe dans tsquery

Utilisez des guillemets autour de vos termes si vous les voulez sous forme de phrases/verbatim ou s'ils contiennent des caractères utilisés dans la syntaxe :

select to_tsquery('"hello there" | hi');

Gardez à l'esprit que vous ne devriez pas vraiment avoir de caractères fous dans vos termes, car ils ne correspondront à rien dans le tsvector.

Les caractères (non symboliques) reconnus par l'analyseur tsquery sont :\0 (null), ( , ) , (espace), | , & , : , * et ! . Mais la façon dont vous tokenisez votre requête doit être basée sur la façon dont vous avez configuré votre dictionnaire. Il y a un grand nombre d'autres caractères que vous ne voudrez probablement pas dans votre requête, non pas parce qu'ils provoqueront une erreur de syntaxe, mais parce que cela signifie que vous ne segmentez pas correctement votre requête.

Utilisez le plainto_tsquery version si c'est un simple AND requête et vous ne souhaitez pas vous occuper de la création manuelle de la requête.