Re: Searching GIN-index (FTS) and sort by timestamp-column

From: Oleg Bartunov <obartunov(at)gmail(dot)com>
To: Andreas Joseph Krogh <andreas(at)visena(dot)com>, Teodor Sigaev <teodor(at)sigaev(dot)ru>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Searching GIN-index (FTS) and sort by timestamp-column
Date: 2016-03-21 15:13:07
Message-ID: CAF4Au4yV7tCuvLwJ=YoNVoToLYGn7RPz3h9vegHRpKUzh2+iZA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, Mar 21, 2016 at 5:41 PM, Andreas Joseph Krogh <andreas(at)visena(dot)com>
wrote:

> På lørdag 19. mars 2016 kl. 03:44:55, skrev Jeff Janes <
> jeff(dot)janes(at)gmail(dot)com>:
>
> On Wed, Mar 16, 2016 at 6:53 AM, Andreas Joseph Krogh <andreas(at)visena(dot)com>
> wrote:
>>
>> På onsdag 16. mars 2016 kl. 14:37:27, skrev Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>>
>> Andreas Joseph Krogh <andreas(at)visena(dot)com> writes:
>> > 1. Why isnt' folder_id part of the index-cond?
>>
>> Because a GIN index is useless for sorting.
>>
>> > 2. Is there a way to make it use the (same) index to sort by
>> > received_timestamp?
>>
>> No.
>>
>> > 3. Using a GIN-index, is there a way to use the index at all for
>> sorting?
>>
>> No.
>>
>> > 4. It doesn't seem like ts_rank uses the index for sorting either.
>>
>> Same reason.
>>
>> regards, tom lane
>>
>>
>> So it's basically impossible to use FTS/GIN with sorting on large
>> datasets?
>> Are there any plans to improve this situation?
>>
>
> I don't see why it would not be possible to create a new execution node
> type that does an index scan to obtain order (or just to satisfy an
> equality or range expression), and takes a bitmap (as produced by the
> FTS/GIN) to apply as a filter. But, I don't know of anyone planning on
> doing that.
>
>
> Isn't this what Postgres Pro are planning?
> http://postgrespro.com/roadmap/mssearch
>
> *"Unlike external special-purpose search engines, a full-text search
> engine built in a DBMS is capable of combining full-text and attributive
> search criteria in SQL query syntax. It is planned to improve the existing
> PostgreSQL full-text search engine by extending the functionality of
> Generalized Inverted Index (GIN) to make it capable of storing extra
> information required for ranging query results. This search acceleration
> will allow to go back from external full-text search engines, thus
> facilitating system administration and use, reducing technology risks, and
> improving information security."*
>

This is different feature ! Actually, we already have prototype of what
Jeff suggested, we called it bitmap filtering, but failed to find use case
where it provides benefits. Teodor will comment this idea more detail.

>
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com
> www.visena.com
> <https://www.visena.com>
>
>

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Adrian Klaver 2016-03-21 15:19:25 Re: grant select on pg_stat_activity
Previous Message Andreas Joseph Krogh 2016-03-21 14:41:42 Re: Searching GIN-index (FTS) and sort by timestamp-column