云数据库 GAUSSDB-Ispell词典:操作步骤
操作步骤
- 获取词典定义文件和词缀文件。
用户可以使用开源词典(OpenOffice上可以获取),直接获取的开源词典后缀名可能为.aff和.dic,此时需要将扩展名改为.affix和.dict。此外,对于某些词典文件,还需要使用下面的命令把字符转换成UTF-8编码,比如挪威语词典:
1 2
iconv -f ISO_8859-1 -t UTF-8 -o nn_no.affix nn_NO.aff iconv -f ISO_8859-1 -t UTF-8 -o nn_no.dict nn_NO.dic
- 创建Ispell词典。
1 2 3 4 5 6
gaussdb=# CREATE TEXT SEARCH DICTIONARY norwegian_ispell ( TEMPLATE = ispell, DictFile = nn_no, AffFile = nn_no, FilePath = 'file:///home/dicts' );
其中,词典文件全名为nn_no.dict和nn_no.affix,所在目录为当前连接CN节点的/home/dicts/下。关于创建词典的语法和更多参数,请参见CREATE TEXT SEARCH DICTIONARY。
- 使用Ispell词典进行复合词拆分。
1 2 3 4 5
gaussdb=# SELECT ts_lexize('norwegian_ispell', 'sjokoladefabrikk'); ts_lexize --------------------- {sjokolade,fabrikk} (1 row)
MySpell不支持复合词,Hunspell对复合词有较好的支持。 GaussDB 仅支持Hunspell中基本的复合词操作。通常情况下,Ispell词典能够识别的词是一个有限集合,其后应该配置一个更广义的词典,例如一个可以识别所有词的Snowball词典。