F.14. dict_int
ÐодÑÐ»Ñ dict_int пÑедÑÑавлÑÐµÑ Ñобой пÑÐ¸Ð¼ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑного Ñаблона ÑловаÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑекÑÑового поиÑка. ÐÑÐ¾Ñ ÑловаÑÑ Ð±Ñл Ñоздан Ð´Ð»Ñ ÑпÑавлÑемой индекÑаÑии ÑелÑÑ
ÑиÑел (Ñо знаком и без); он позволÑÐµÑ Ð¸Ð½Ð´ÐµÐºÑиÑоваÑÑ Ñакие ÑиÑла и пÑи ÑÑом избежаÑÑ ÑÑезмеÑного ÑазÑаÑÑÐ°Ð½Ð¸Ñ ÑпиÑка ÑникалÑнÑÑ
Ñлов, ÑÑо знаÑиÑелÑно ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÑкоÑоÑÑÑ Ð¿Ð¾Ð¸Ñка.
ÐаннÑй модÑÐ»Ñ ÑÑиÑаеÑÑÑ Â«Ð´Ð¾Ð²ÐµÑеннÑм», Ñо еÑÑÑ ÐµÐ³Ð¾ могÑÑ ÑÑÑанавливаÑÑ Ð¾Ð±ÑÑнÑе полÑзоваÑели, имеÑÑие пÑаво CREATE в ÑекÑÑей базе даннÑÑ
.
F.14.1. ÐонÑигÑÑиÑование
ÐÑÐ¾Ñ ÑловаÑÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑи паÑамеÑÑа:
ÐаÑамеÑÑ
maxlenзадаÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло ÑиÑÑ, из коÑоÑого Ð¼Ð¾Ð¶ÐµÑ ÑоÑÑоÑÑÑ Ñелое ÑиÑло. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 6.ÐаÑамеÑÑ
rejectlongопÑеделÑеÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð»Ð¸ ÑÑезмеÑно длиннÑе ÑиÑла ÑÑекаÑÑÑÑ Ð¸Ð»Ð¸ игноÑиÑоваÑÑÑÑ. ÐÑлиrejectlongÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеfalse(по ÑмолÑаниÑ), ÑÑÐ¾Ñ ÑловаÑÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð¿ÐµÑвÑеmaxlenÑиÑÑ Ñелого ÑиÑла. ÐÑлиrejectlongÑавенtrue, ÑÑезмеÑное длинное Ñелое воÑпÑинимаеÑÑÑ ÐºÐ°Ðº ÑÑоп-Ñлово, и в ÑезÑлÑÑаÑе не индекÑиÑÑеÑÑÑ. ÐамеÑÑÑе, ÑÑо ознаÑаеÑ, ÑÑо Ñакое Ñелое нелÑÐ·Ñ Ð±ÑÐ´ÐµÑ Ð½Ð°Ð¹Ñи.ÐаÑамеÑÑ
absvalопÑеделÑеÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð»Ð¸ ÑдалÑÑÑÑÑ Ð·Ð½Ð°ÐºÐ¸ «+» и «-», ÑÑоÑÑие пеÑед ÑелÑми ÑиÑлами. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âfalse. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеtrue, знак ÑдалÑеÑÑÑ Ð´Ð¾ Ñого, как ÑаÑÑмаÑÑиваеÑÑÑ Ð¾Ð³ÑаниÑениеmaxlen.
F.14.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;