Skip site navigation (1) Skip section navigation (2)

Re: text search synonym dictionary anomaly with numbers

From: Richard Greenwood <richard(dot)greenwood(at)gmail(dot)com>
To: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: text search synonym dictionary anomaly with numbers
Date: 2011-11-27 16:57:00
Message-ID: CAHBySPaJO4anOteunVexgA2R+xQxozM5zc28EkN1piJZ=+asSw@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-general
Oleg,

Thank you. I am sure that you have identified my problem.

 \dF+ english (output below) lists my dictionary which is named
'rwg_synonym' before numword so I would have thought that my
dictionary would have normalized '1st' to '1' before the numword
dictionary was reached. Maybe this question belongs in a new thread,
but I do thank you for helping me to look in the correct place.

Best regards,
Rich

fremontwy=# \dF+ english
Text search configuration "pg_catalog.english"
Parser: "pg_catalog.default"
      Token      |       Dictionaries
-----------------+--------------------------
 asciihword      | english_stem
 asciiword       | rwg_synonym,english_stem
 email           | simple
 file            | simple
 float           | simple
 host            | simple
 hword           | english_stem
 hword_asciipart | english_stem
 hword_numpart   | simple
 hword_part      | english_stem
 int             | simple
 numhword        | simple
 numword         | simple
 sfloat          | simple
 uint            | simple
 url             | simple
 url_path        | simple
 version         | simple
 word            | english_stem



On Sun, Nov 27, 2011 at 7:29 AM, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> wrote:
> 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(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
> phone: +007(495)939-16-83, +007(495)939-23-83
>



-- 
Richard Greenwood
richard(dot)greenwood(at)gmail(dot)com
www.greenwoodmap.com

In response to

Responses

pgsql-general by date

Next:From: Ivan VorasDate: 2011-11-27 17:20:55
Subject: PostgreSQL poster
Previous:From: Oleg BartunovDate: 2011-11-27 14:29:03
Subject: Re: text search synonym dictionary anomaly with numbers

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group