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: | Raw Message | Whole Thread | 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 |