| From: | Tim van der Linden <tim(at)shisaa(dot)jp> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Multiple word synonyms (maybe?) |
| Date: | 2015-10-20 10:35:38 |
| Message-ID: | 20151020193538.df8194ca307fb5f9cb0ab13d@shisaa.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi All
I have a question regarding PostgreSQL's full text capabilities and (presumably) the synonym dictionary.
I'm currently implementing FTS on a medical themed setup which uses domain specific jargon to denote a bunch of stuff. A specific request I wish to implement here are the jargon synonyms that are heavily used.
Of course, I can simply go ahead and create my own synonym dictionary with a jargon specific synonym file to feed it. However, most of the synonyms are comprised out of more then a single word.
The term "heart attack" for example has the following "synonyms":
- Acute MI
- MI
- Myocardial infarction
As far as I understand it, the tokenizer within PostgreSQL FTS engine splits words on spaces to generate tokens which are then proposed to each dictionary. I think it is therefor impossible to have "multi-word synonyms" in this sense as multiple words cannot reach the dictionary. The term "heart attack" would be presented as the tokens "heart" and "attack".
From a technical standpoint I understand FTS is about looking at individual words and lexemizing them ... yet from a natural language lookup perspective you still wish to tie "Heart attack" to "Acute MI" so when a client search on one, the other will turn up as well.
Should I write my own tokenizer to catch all these words and present them as a single token? Or is this completely outside the realm of FTS (or FTS within Postgresql)?
Cheers,
Tim
| From | Date | Subject | |
|---|---|---|---|
| Next Message | rob stone | 2015-10-20 10:57:59 | Re: Multiple word synonyms (maybe?) |
| Previous Message | Nicolas Paris | 2015-10-20 09:28:21 | Re: PSQL Tools |