PostgreSQL 9.3.1 中文手册 | ||||
---|---|---|---|---|
Prev | Up | Appendix F. 额外提供的模块 | Next |
dict_int是一个全文检索的扩展字典模板的示例。这个示例字典的动机是控制整数 (有符号和无符号)的索引,允许在防止唯一码的数量过度增长时给整数索引, 这将大大的影响搜索的性能。
该字典接受两个选项:
maxlen参数声明整数数字的最大位数。缺省值是6。
rejectlong参数声明一个超长的整数是否应该被截断或忽略。如果rejectlong 为false(缺省),那么字典返回该整数前面的maxlen位。如果 rejectlong为true,那么字典认为一个超长的整数是结束词, 所以它将不会被索引。请注意,这也意味着这样一个整数不能被搜索。
安装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 里描述的那样。可能看起来像这样:
ALTER TEXT SEARCH CONFIGURATION english ALTER MAPPING FOR int, uint WITH intdict;