这是问题所在。执行此时:
select to_tsvector('simple', 'a.')
我上帝只有一个结果:'a' 因为“。”是一个“空间符号”
所以,我的问题是从空间符号列表中删除几个字符的最佳方法是什么, 对于这个(简单的)字典或另一个(新创建的)。 我找不到系统db,或者postgresql存储这些符号的文件。
答案 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来区分您的少数特殊字符。