Richard,
you should check your mapping - '1st' belongs to 'numword' and may be processed
in a different way than 'first' or '1'.
Oleg
On Sat, 26 Nov 2011, Richard Greenwood wrote:
> I am working with street address data in which 'first st' has been
> entered as '1 st' and so on. So I have created a text search
> dictionary with entries:
> first 1
> 1st 1
> And initially it seems to be working properly:
>
> SELECT ts_lexize('rwg_synonym','first');
> ts_lexize
> -----------
> {1}
>
>
> SELECT ts_lexize('rwg_synonym','1st');
> ts_lexize
> -----------
> {1}
>
> But my queries on '1st' are not returning the expected results:
>
> SELECT count(*) FROM parcel_attrib WHERE txtsrch @@ to_tsquery('1');
> count
> -------
> 403 <- this is what I want
>
> SELECT count(*) FROM parcel_attrib WHERE txtsrch @@ to_tsquery('first');
> count
> -------
> 403 <- this is also good
>
> SELECT count(*) FROM parcel_attrib WHERE txtsrch @@ to_tsquery('1st');
> count
> -------
> 4 <- this is not good. There are 4 records that do have '1st',
> but why am I not getting 403 records?
>
> Thanks for reading,
> Rich
>
>
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83