如何在PostgreSQL的全文搜索中匹配“C#”和“C ++”之类的东西?

时间:2010-02-11 04:56:52

标签: postgresql full-text-search

不幸的是,解析器会丢弃所有标点符号,因此'C','C ++'和'C#'都会以'c'结尾。

我唯一可以想到的(除了替换现在不是真正的选项的解析器),将是在使用任何FTS函数之前实现我自己的微型同义词字典,将“C ++”替换为“例如,在应用程序或查询中,Cpp“和”C#“与”Csharp“。有没有办法用FTS功能/功能做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以使用行

创建同义词词典
c + + : cpp
c # : csharp

然后使用首先提到的新词典为“空白”令牌类型添加文本搜索配置的映射

答案 1 :(得分:1)

将任何相关标点符号转换为单词。 C ++ - > Cplusplus,C# - > Csharp,PL / SQL - > PLslashSQL