From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
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 05:40:13 |
Message-ID: | 6689.1204868413@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
"b wragg" <bwragg(at)tpg(dot)com(dot)au> writes:
> 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?
I'm new at this too, but AFAICS these are both exact matches: they have
the same matching lexemes at the same positions, so the basic rank
calculation is going to come out exactly the same. Normalization option
32 doesn't help (as the manual notes, it's purely cosmetic). So it's
random chance which one comes out first.
What I think you might want is one of the other normalization options,
so that shorter documents are preferred. Either 1, 2, 8, or 16 would
do fine for this simple example --- which one you want depends on just
how heavily you want to favor shorter documents.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Vlad Arkhipov | 2008-03-07 05:50:40 | Nested loop vs merge join: inconsistencies between estimated and actual time |
Previous Message | paul rivers | 2008-03-07 05:38:48 | Re: count * performance issue |