PostgreSQL tsvector配置:如何允许特殊字符?

PostgreSQL tsvector配置:如何允许特殊字符?,第1张

概述我已经在PostgreSQL中设置了一个新的文本搜索配置.此配置使用一个空的停止字文件DictFile和AffFile. 一个简单的测试… SELECT * FROM ts_debug('public.myconfig', 'C++ and C# and PHP'); …工作(几乎)罚款,除了’C’和’C#’的词汇都是’C’的事实.基本上,我想做的就是确保’C’的词汇是’C’,’C#’的词典 我已经在Postgresql中设置了一个新的文本搜索配置.此配置使用一个空的停止字文件Dictfile和Afffile.

一个简单的测试…

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配置:如何允许特殊字符?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存