dict_int

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 F. 额外提供的模块 | 下一页

# F.10. dict_int

`dict_int`是一个全文检索的扩展字典模板的示例。这个示例字典的目的是控制整数 （有符号和无符号）的索引，允许在防止唯一码的数量过度增长时给整数索引， 这将大大的影响搜索的性能。

## F.10.1. 配置

该字典接受两个选项：

- `maxlen`参数声明整数数字的最大位数。缺省值是6。

- `rejectlong`参数声明一个超长的整数是否应该被截断或忽略。如果`rejectlong` 为`false`（缺省），那么字典返回该整数前面的`maxlen`位。如果 `rejectlong`为`true`，那么字典认为一个超长的整数是一个干扰词， 所以它将不会被索引。请注意，这也意味着这样一个整数是不能被搜索的。

## F.10.2. 用法

安装`dict_int`扩展来创建基于它的一个文本搜索模板`intdict_template` 和一个字典`intdict`，带有缺省的参数。你可以修改这些参数，例如

    mydb# ALTER TEXT SEARCH DICTIONARY intdict (MAXLEN = 4, REJECTLONG = true);
    ALTER TEXT SEARCH DICTIONARY

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

要测试这个字典，可以尝试

    mydb# select ts_lexize('intdict', '12345678');
     ts_lexize
    -----------
     {123456}

但是实际的使用情况会涉及包含它在一个文本搜索配置里，就像第 12 章 里描述的那样。可能看起来像这样：

    ALTER TEXT SEARCH CONFIGURATION english
        ALTER MAPPING FOR int, uint WITH intdict;

上一页 | 起始页 | 下一页
dblink_build_sql_update | 上一级 | dict_xsyn