Quantcast
Channel: Question and Answer » postgresql
Viewing all articles
Browse latest Browse all 1138

Making ordinal synonyms for Postgres full text search

$
0
0

I have a Postgres 9.3 database where users are mostly searching for locations by a combination of name and/or address (or fragments of).

An example of an address would be “123 8th st”.

I’ve been able to setup a synonym dictionary that allows users to find such an address with “123 8th street”, but I can’t seem to get it to do the same for ordinals. That is, I want a search for “123 8 street” (etc) to be able to find this address.

I’m using the following code:

CREATE TEXT SEARCH CONFIGURATION my_app_english (
  COPY = english
);

CREATE TEXT SEARCH DICTIONARY my_app_synonyms (
  TEMPLATE = synonym,
  SYNONYMS = my_app_synonyms
);

ALTER TEXT SEARCH CONFIGURATION my_app_english
  ALTER MAPPING FOR asciiword
  WITH my_app_synonyms, english_stem;

And the synonym file had lines like:

1st 1
2nd 2
3rd 3
4th 4
5th 5
...

How can I make this full text search match “8th” when the user searches for “8″?

I suspect the token type is the issue, but am not sure how I can consistently treat the token with the ordinal like that without.


Viewing all articles
Browse latest Browse all 1138

Trending Articles