Postgresql全文搜索具有少量特定字符的单词

时间:2011-04-12 09:32:01

标签: postgresql

这是问题所在。执行此时:

select to_tsvector('simple', 'a.')

我上帝只有一个结果:'a' 因为“。”是一个“空间符号”

所以,我的问题是从空间符号列表中删除几个字符的最佳方法是什么, 对于这个(简单的)字典或另一个(新创建的)。 我找不到系统db,或者postgresql存储这些符号的文件。

1 个答案:

答案 0 :(得分:1)

首先,您需要创建自定义文本搜索配置

CREATE TEXT SEARCH CONFIGURATION your_fts (
    PARSER = pg_catalog."default" );

然后添加空白标记的映射

ALTER TEXT SEARCH CONFIGURATION name
    ALTER MAPPING FOR blank WITH simple;

这样你所有的空格和特殊字符都会转到tsvectors。这可能不是你想要的。您需要使用custom dictionary甚至custom parser来区分您的少数特殊字符。