一个简单的测试…
SELECT * FROM ts_deBUG('public.myconfig','C++ and C# and PHP');
…工作(几乎)罚款,除了’C’和’C#’的词汇都是’C’的事实.基本上,我想做的就是确保’C’的词汇是’C’,’C#’的词典是’C”,因此用户可以查询’C’.
问题是双重的.>第一个问题是索引.默认配置使用词干来索引数据,因此您可以获得’C’和’C#’的词法’C’.您可以使用“简单”配置对数据进行索引,但是在索引中最终会出现不需要的字词.我所做的是将’C’转换为’Cplusplus’并进行索引.由于“Cplusplus”没有lexeme,因此它将被复制.您可以通过使索引数据中的“CSharp”对’C#’执行相同的 *** 作.
>第二个问题是搜索.现在索引的数据是可以的,我们需要确保我们转换特殊字的搜索字词.如果用户键入“C”,则需要在执行搜索之前将其转换为“Cplusplus”.
我在DB上创建了一个函数,该函数带有一个字符串,并转换了所有特殊术语的发生.
我没有使用TSearch一段时间,所以我不知道TSearch是否允许您设置和例外列表与允许使用的禁用词一样.
总结以上是内存溢出为你收集整理的PostgreSQL tsvector配置:如何允许特殊字符?全部内容,希望文章能够帮你解决PostgreSQL tsvector配置:如何允许特殊字符?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)