Full text search question: "01.Bez." --> "Erster Bezirk"

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

Responses

Browse pgsql-general by date

  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