From: | Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> |
---|---|
To: | b wragg <bwragg(at)tpg(dot)com(dot)au> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Improve Full text rank in a query |
Date: | 2008-03-07 08:44:18 |
Message-ID: | Pine.LNX.4.64.0803071142450.11711@sn.sai.msu.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Fri, 7 Mar 2008, b wragg wrote:
> Hi all,
>
> I'm running the following query to match a supplied text string to an actual
> place name which is recorded in a table with extra info like coordinates,
> etc.
>
> SELECT ts_rank_cd(textsearchable_index_col , query, 32 /* rank/(rank+1) */)
> AS rank,*
> FROM gazetteer, to_tsquery('Gunbower|Island|Vic') query
> WHERE query @@ textsearchable_index_col order by rank desc, concise_ga desc,
> auda_alloc desc LIMIT 10
>
> When I run this I get the following top two results:
>
> Pos Rank Name
> State
> 1 0.23769 Gunbower Island Primary School Vic
> 2 0.23769 Gunbower Island Vic
>
> The textsearchable_index_col for each of these looks like this:
>
> 'vic':6 '9999':5 'gunbow':1 'island':2 'school':4 'primari':3 'victoria':7
> 'vic':4 '9999':3 'gunbow':1 'island':2 'victoria':5
>
> I'm new to this, but I can't figure out why the "Gunbower Island Primary
> School" is getting top place. How do I get the query to improve the ranking
> so that an exact match (like "Gunbower|Island|Vic") gets a higher position?
you can read documentation and use document length normalization flag,
or write your own ranking function.
>
> Thanks,
>
> bw
>
>
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.516 / Virus Database: 269.21.4/1309 - Release Date: 3/03/2008
> 6:50 PM
>
>
>
>
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
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2008-03-07 09:13:06 | Re: Toast space grows |
Previous Message | Pavel Rotek | 2008-03-07 08:35:42 | Toast space grows |