• 金仓数据库 KingbaseES 插件参考手册(25. dict_xsyn)


    25. dict_xsyn

    25.1. 插件dict_xsyn简介

    dict_xsyn(扩展同义词字典)是一个附加全文搜索字典模板的例子。这种字典类型将词替换为它们的同义词分组,并且让使用其任一同义词进行搜索变得可能。

    25.2. 插件dict_xsyn加载方式

    create extension dict_xsyn;
    

    25.3. 插件dict_xsyn的参数配置

    一个dict_xsyn词典接受以下选项

    * matchorig 控制该词典是否接受原生词。默认为true。

    * matchsynonyms 控制该词典是否接受同义词。默认为false。

    * keeporig 控制原生词是否被包括在词典的输出中。默认为true。

    * keepsynonyms 控制同义词是否被包括在词典的输出中。默认为true。

    * rules 是包含同义词列表的文件的基本名。这个文件必须被存储在$SHAREDIR/tsearch_data/(其中$SHAREDIR表示KES安装的共享数据目录)中。它的名称必须以.rules结束(这不包括在rules参数中)。

    规则文件具有下面的格式

    * 每一行表示一个单一词的同义词分组,它在该行中首先被给出。同义词被空白分隔,如下所示

    word syn1 syn2 syn3
    

    * 井号(#)是注释定界符。它可以出现在一行中的任何位置。该行的剩余部分将被跳过。

    具体用例可以看看在$SHAREDIR/tsearch_data/中的xsyn_sample.rules。

    25.4. 插件dict_xsyn的使用方法

    安装dict_xsyn扩展会用默认参数创建一个文本搜索模板xsyn_template以及一个基于它的词典xsyn。你可以修改参数,例如:

    ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=false);
    

    或者基于该模板创建新的词典。

    要测试该词典,你可以尝试:

    SELECT ts_lexize('xsyn', 'word');
          ts_lexize
    -----------------------
     {syn1,syn2,syn3}
    
    ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=true);
    
    SELECT ts_lexize('xsyn', 'word');
          ts_lexize
    -----------------------
     {word,syn1,syn2,syn3}
    
    ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=false, MATCHSYNONYMS=true);
    
    SELECT ts_lexize('xsyn', 'syn1');
          ts_lexize
    -----------------------
     {syn1,syn2,syn3}
    
    ALTER TEXT SEARCH DICTIONARY xsyn (RULES='my_rules', KEEPORIG=true, MATCHORIG=false, KEEPSYNONYMS=false);
    
    SELECT ts_lexize('xsyn', 'syn1');
          ts_lexize
    -----------------------
     {word}
    

    在实际使用时可以将它包含在一个文本搜索配置中。如下所示:

    ALTER TEXT SEARCH CONFIGURATION english
        ALTER MAPPING FOR word, asciiword WITH xsyn, english_stem;
    

    25.5. 插件dict_xsyn卸载方法

    drop extension dict_xsyn;
    

    25.6. 插件dict_xsyn升级方法

    dict_xsyn扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

  • 相关阅读:
    微信支付项目实战、创建订单到支付退款代码详解
    Java 超经典面试题
    [附源码]Python计算机毕业设计《数据库系统原理》在线学习平台
    微服务之Nacos
    Ubuntu-22.04安装MegaCLI并查看MegaRAID的配置
    Kotlin基础——枚举、When、in、for
    Sui特性将推动下一波游戏大发展
    No141.精选前端面试题,享受每天的挑战和学习
    秒杀系统 防止超卖 防止同一用户多次下单 提高qps
    基于ssm的人力资源管理系统
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126548574