PostgreSQL tsearch2没有小写

时间:2012-11-25 17:25:00

标签: postgresql case-sensitive

我使用PostgreSQL中的tsearch2从文本中提取网址。使用默认工具一切正常,但YouTube链接存在问题:我从解析器获取的网址都是小写的 - 而且YT链接不能。

我做了一些研究,发现没有可以禁用降低的选项 - 我所能做的就是编写自己的解析器。

我是对的吗?也许有任何神奇的方法可以使解析器区分大小写?如果不是 - 有没有人写过适当的解析器?如果也没有 - 你有什么建议吗,怎么做得好? :)

感谢您的帮助, xaru

1 个答案:

答案 0 :(得分:1)

您可以通过LIKE检查区分大小写的搜索结果。如果没有太多冲突,那么这个解决方案应该是快速的

SELECT * FROM (SELECT url
                  FROM your_tab
                 WHERE to_tsvector(..) @@ to_tsquery(..)
                 OFFSET 0) s
  WHERE s.url LIKE '%Bbx%'