ide*_*xer 16 postgresql search full-text-search escaping
必须避免哪些字符才能确保PSQLException:错误:tsquery中的语法错误不会发生?该文档没有说明如何转义搜索字符串:http://www.postgresql.org/docs/8.3/static/datatype-textsearch.html
Chr*_*loe 27
如果您希望将它们作为短语/逐字表示,或者它们包含语法中使用的字符,请在您的术语周围使用引号:
select to_tsquery('"hello there" | hi');
Run Code Online (Sandbox Code Playgroud)
请记住,你不应该在你的条件中真的有疯狂的角色,因为它们不会匹配tsvector中的任何东西.
由tsquery分析器识别的(非令牌)字符是:\0(空), ,(,)(?空白), ,|,,& 和.但是,如何对查询进行标记化应该基于您如何设置字典.您的查询中可能不需要很多其他字符,不是因为它们会导致语法错误,而是因为它意味着您没有正确地标记查询.:*!
plainto_tsquery如果它是一个简单的AND查询而您不想处理手动创建查询,请使用该版本.