首页 > 数据库 > > 词典-Thesaurus词典
Thesaurus词典,也叫做分类词典(缩写为TZ),是一组定义了词以及词组间关系的集合,包括广义词(BT)、狭义词(NT)、首选词、非首选词、相关词等。根据词典文件中的定义,TZ词典用一个指定的短语替换对应匹配的所有短语,并且可选择保留原始短语进行索引。TZ词典实际上是Synonym词典的一个扩展,增加了短语支持。
supernovae stars : sn
crab nebulae : crab
执行如下语句创建TZ词典:
CREATE TEXT SEARCH DICTIONARY thesaurus_astro (
TEMPLATE = thesaurus,
DictFile = thesaurus_astro,
Dictionary = pg_catalog.english_stem,
FILEPATH = 'file:///home/dicts/'
);
其中,词典定义文件全名为thesaurus_astro.ths,所在目录为当前连接CN节点的/home/dicts/下 。子词典pg_catalog.english_stem是预定义的Snowball类型的英语词干词典,用于规范化输入词,子词典自身相关配置(例如停用词等)不在此处显示。关于创建词典的语法和更多参数,请参见CREATE TEXT SEARCH DICTIONARY。
ALTER TEXT SEARCH CONFIGURATION russian
ALTER MAPPING FOR asciiword, asciihword, hword_asciipart
WITH thesaurus_astro, english_stem;
SELECT plainto_tsquery('russian','supernova star');
plainto_tsquery
-----------------
'sn'
(1 row)
SELECT to_tsvector('russian','supernova star');
to_tsvector
-------------
'sn':1
(1 row)
SELECT to_tsquery('russian','''supernova star''');
to_tsquery
------------
'sn'
(1 row)
其中,supernova star匹配了词典thesaurus_astro定义中的supernovae stars,这是因为在thesaurus_astro词典定义中指定了Snowball类型的子词典english_stem,该词典移除了e和s。
supernovae stars : sn supernovae stars
ALTER TEXT SEARCH DICTIONARY thesaurus_astro (
DictFile = thesaurus_astro,
FILEPATH = 'file:///home/dicts/');
SELECT plainto_tsquery('russian','supernova star');
plainto_tsquery
-----------------------------
'sn' & 'supernova' & 'star'
(1 row)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3166111/ ,如需转载,请注明出处,否则将追究法律责任。