pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
dict_xsyn(扩展同义词词典)是全文检索的一个附加词典模板示例。 这种词典类型会将词替换为其同义词组,因此可以使用某个词的任一同义词来搜索该词。
该dict_xsyn词典接受以下选项:
keeporig控制是否包含原词(若为true),还是只包含其同义词(若为false)。默认为true。
rules是包含同义词列表的文件的基本名。 该文件必须存放在$SHAREDIR/tsearch_data/ (其中$SHAREDIR表示PostgreSQL安装的共享数据目录)中。 文件名必须以.rules结尾 (这一后缀不应写入rules参数)。
规则文件具有下列格式:
每一行表示某个单词的一组同义词,且该单词位于行首。 同义词之间用空白分隔,例如:
word syn1 syn2 syn3
井号(#)是注释分隔符。它可以出现在一行中的任意位置, 该行余下的内容都会被跳过。
示例可参见安装在$SHAREDIR/tsearch_data/中的 xsyn_sample.rules。
运行安装脚本会创建一个文本搜索模板xsyn_template以及一个基于它、使用默认参数的词典xsyn。你可以修改参数,例如
mydb# ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=false); ALTER TEXT SEARCH DICTIONARY
或者基于该模板创建新词典。
要测试该词典,可以尝试:
mydb=# SELECT ts_lexize('xsyn', 'word');
ts_lexize
-----------------------
{word,syn1,syn2,syn3}
但实际使用通常需要把它纳入第 12 章中描述的全文检索配置。 可能会像这样:
ALTER TEXT SEARCH CONFIGURATION english
ALTER MAPPING FOR word, asciiword WITH xsyn, english_stem;
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。