文档首页 > > 开发指南> 全文检索> 词典> Ispell词典

Ispell词典

分享
更新时间:2020/08/24 GMT+08:00

Ispell词典模板支持词法词典,它可以把一个词的各种语言学形式规范化成相同的词位。比如,一个Ispell英语词典可以匹配搜索词bank的词尾变化和词形变化,如banking、banked、banks、banks'和bank's等。

GaussDB(DWS)不提供任何预定义的Ispell类型词典或词典文件。dict文件和affix文件支持多种开源词典格式,包括Ispell、MySpell和Hunspell等。

操作步骤

  1. 获取词典定义文件和词缀文件。

    用户可以使用开源词典,直接获取的开源词典后缀名可能为.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
    

  2. 创建Ispell词典。

    1
    2
    3
    4
    5
    6
    CREATE TEXT SEARCH DICTIONARY norwegian_ispell (
        TEMPLATE = ispell,
        DictFile = nn_no,
        AffFile = nn_no,
        FilePath = 'file:///home/dicts''obs://bucket_name/path accesskey=ak secretkey=sk region=rg'
    );
    

    其中,词典文件全名为nn_no.dict和nn_no.affix,所在目录为 "obs://bucket_name/path accesskey=ak secretkey=sk region=rg"。关于创建词典的语法和更多参数,请参见CREATE TEXT SEARCH DICTIONARY

  3. 使用Ispell词典进行复合词拆分。

    1
    2
    3
    4
    5
    SELECT ts_lexize('norwegian_ispell', 'sjokoladefabrikk');
          ts_lexize      
    ---------------------
     {sjokolade,fabrikk}
    (1 row)
    

    MySpell不支持复合词,Hunspell对复合词有较好的支持。GaussDB(DWS)仅支持Hunspell中基本的复合词操作。通常情况下,Ispell词典能够识别的词是一个有限集合,其后应该配置一个更广义的词典,例如一个可以识别所有词的Snowball词典。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问