From: | Johann Höchtl <johann(dot)hoechtl(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Full text search question: "01.Bez." --> "Erster Bezirk" |
Date: | 2016-03-12 16:40:56 |
Message-ID: | 56E44698.7060104@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I fear I have an involved challenge concerning FTS.
Assume I have the following text in a column:
Graz,06.Bez.:Blah
This parses as:
SELECT alias, description, token FROM ts_debug('german',
'Graz,06.Bez.:Blah');
alias | description | token
-----------+-----------------+--------
asciiword | Word, all ASCII | Graz
blank | Space symbols | ,
host | Host | 06.Bez
blank | Space symbols | .:
asciiword | Word, all ASCII | Blah
Bez. ist the abbreviation for "Bezirk" (german for ~district). 06.Bez
means "6th district"
My first problem might be that the parser identifies "06.Bez." as a host
lexeme, but ...
I already defined a synonym dictionary to enable searching for "Bezirk",
when there is only "Bez." in the database:
file: bevaddress_host.syn:
01.bez bezirk
06.bez bezirk
<snip some more rows>
CREATE TEXT SEARCH DICTIONARY bevaddress_host_syn (
TEMPLATE = synonym,
SYNONYMS = bevaddress_host
);
ALTER TEXT SEARCH CONFIGURATION german ALTER MAPPING FOR host WITH
bevaddress_host_syn, simple;
I wonder how I can achieve to be able to search for "Erster Bezirk"
("First district") to match eg. "01.Bez."
Thank you for your help, Johann
From | Date | Subject | |
---|---|---|---|
Next Message | Peter J. Holzer | 2016-03-12 18:43:38 | Re: index problems (again) |
Previous Message | Chris Ruprecht | 2016-03-12 04:18:56 | Re: OS X 10.11.3, psql, bus error 10, 9.5.1 |