我正在使用PostgreSQL实现全文搜索我正在使用以下类型查询在文档列中搜索
FROM schema.table t0
WHERE t0.document @@ websearch_to_tsquery('error')
我正在使用FTS字典来搜索类似的单词。我遇到了C:\Program Files\PostgreSQL\14\share\tsearch_data文件夹,在那里我定义了单词和它的同义词在xsyn_sample.rules文件。文件内容如下所述。
# Sample rules file for eXtended Synonym (xsyn) dictionary
# format is as follows:
#
# word synonym1 synonym2 ...
#
error fault issue mistake malfunctioning
我想使用这个字典,但不知道如何使用它。当我搜索“error”时,我想显示“error”、“fault”、“issues”、“mistores”等具有相似含义的结果。如果你曾经遇到过这个实现,请与我分享。我要求的几件事
1.这个xsyn_sample.rules是否足够?如果不够,还有什么其他技术可以用于这种类型的搜索?
1.如何在我的本地系统中配置PostgreSQL 14来使用这个字典而不是“simple”或“english”。我知道如何使用select plainto_tsquery('english','errors')来使用这两个字典;并选择plainto_tsquery(“简单”,“错误”);查询。同样地,我想使用我的自订字典。
1.有没有比https://www.postgresql.org/docs/current/textsearch-dictionaries.html更好的词典来源?
1条答案
按热度按时间j2cgzkjk1#
不要编辑示例规则文件,创建自己的文件
mysyn.rules
并在其中添加同义词。然后创建一个使用该文件的词典:然后复制英语文本搜索配置并添加词典: