历史版本。 PostgreSQL 8.4 已结束支持。 请参阅 当前版本手册.
F.9. dict_int — 用于整数的示例全文搜索词典 #
dict_int是一个全文搜索附加词典模板的示例。引入这个示例词典是为了控制整数(有符号和无符号)的索引,使这类数字能够被索引,同时又避免唯一词的数量过度增长,因为那会严重影响搜索性能。
F.9.1. 配置
该词典接受两个选项:
maxlen参数指定整数词中允许的最大数字位数。默认值为 6。rejectlong参数指定超长整数应被截断还是忽略。如果rejectlong为false(默认值),词典将返回该整数的前maxlen位数字。如果rejectlong为true,词典会将超长整数视为停用词,因此不会为其建立索引。注意,这也意味着无法搜索这类整数。
F.9.2. 用法
运行安装脚本会创建一个文本搜索模板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;