Re: Full text search ranking: ordering using index and proximiti ranking with OR queries

From: Nicolas Grilly <nicolas(at)gardentechno(dot)com>
To: Andrey Chursin <andll(at)danasoft(dot)ws>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Full text search ranking: ordering using index and proximiti ranking with OR queries
Date: 2012-03-07 16:53:29
Message-ID: CAG3yVS7KxSi=ofYh6_pbM4cBqctgP5bLo-4aqxaNpUvH65CCpA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

According to Oleg in a previous discussion, ts_rank does not use index
because index does not store enough information for ranking:
http://archives.postgresql.org/pgsql-general/2011-07/msg00351.php

On Sat, Feb 18, 2012 at 12:39, Andrey Chursin <andll(at)danasoft(dot)ws> wrote:

> Hello
>
> I have two unrelated questions about fts function ts_rank:
>
> 1) I've created GiST index on column with fts vector, but query
> SELECT * FROM table ORDER BY ts_rank(field, :query) LIMIT 20
> is perfomed with sequential table scan. Index was created on field
> column. Does it mean FTS indexes does not support order by ranking? Or
> I need somehow to create separated index for ranking?
>
> 2) I have a misunderstanding with proximity ranking work. Given two
> vectors 'a:1 b:2' and 'a:1 b:1000', i am measuring ts_rank(vector, 'a'
> | 'b'). And it is equal! But when i am replacing query with &
> operator, e.g. asking for ts_rank(vector, 'a' & 'b') i am getting
> different numbers. Why do I get proximity ranking only for AND fts
> queries? This is a problem as far as to_tsquery produces OR queries,
> so i need self-written postprocessing of query to replace OR with AND.
>
> --
> Regards,
> Andrey
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

--
Nicolas Grilly
Garden / Vocation City
+33 1 45 72 48 78 - office
+33 6 03 00 25 34 - mobile
www.gardentechno.com - Développement web & reporting / *Web development &
data analytics*
www.vocationcity.com - Plateforme de recrutement sur le web / *Web
recruitment platform*

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2012-03-07 17:11:01 Re: ERROR: could not find tuple for trigger 37463634
Previous Message Tom Lane 2012-03-07 16:51:45 Re: Fixing the loss of 'template1'