dict_int
是一個全文搜尋的附加字典模板示例。這個示例字典的目的是控制整數(有符號和無符號)的索引,允許這些數字被索引,同時防止唯一詞的數量過度增長,這會嚴重影響搜尋效能。
此模組被認為是“受信任的”,這意味著非超級使用者也可以在其擁有的資料庫上安裝它,前提是他們具有 CREATE
許可權。
該字典接受三個選項
“maxlen
”引數指定整數單詞中允許的最大位數。預設值為 6。
“rejectlong
”引數指定過長整數是應該被截斷還是被忽略。如果“rejectlong
”為“false
”(預設值),則字典會返回整數的前“maxlen
”位數字。如果“rejectlong
”為“true
”,則字典將過長的整數視為停用詞,這樣它就不會被索引。請注意,這也意味著這樣的整數將無法被搜尋到。
“absval
”引數指定是否應從整數單詞中刪除前導的 “+
” 或 “-
” 符號。預設值為“false
”。當設定為“true
”時,在應用“maxlen
”之前會刪除符號。
安裝 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;
如果您在文件中發現任何不正確之處、與您對特定功能的體驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。