多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 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} ``` 但是真实的使用情况将包括包含它在一个文本搜索配置里,就像[Chapter 12](#calibre_link-426) 里描述的那样。可能看起来像这样: ``` ALTER TEXT SEARCH CONFIGURATION english ALTER MAPPING FOR int, uint WITH intdict; ```