Re: Hstore index for full text search

From: Michael Lewis <mlewis(at)entrata(dot)com>
To: Burhan Akbulut <burhan(dot)akbulut(at)cooksoft(dot)com(dot)tr>
Cc: postgres performance list <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Hstore index for full text search
Date: 2020-08-11 21:55:16
Message-ID: CAHOFxGoZo8U8MvQDwjDu31ByqdbqW97m8Ud_BQe-E17wzL5qZw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hash Cond: (o.courier_id = cc.id)
Filter: (((o.tracker_code)::text ~~* '%1654323%'::text) OR
((table_cus.name)::text
~~* '%1654323%'::text) OR ((au.username)::text ~~ '%1654323%'::text) OR
((o.source)::text ~~* '%1654323%'::text) OR ((o.ops -> 'shop'::text) ~~*
'%1654323%'::text) OR ((o.ops -> 'camp_code'::text) ~~* '%1654323%'::text)
OR ((city.name)::text ~~* '%1654323%'::text) OR ((co.name)::text ~~*
'%1654323%'::text) OR ((o.tr_code)::text ~~* '%1654323%'::text) OR ((o.ops
? 'shipping_company'::text) AND ((o.ops -> 'shipping_company'::text) ~~*
'%1654323%'::text)) OR ((cc.name)::text ~~* '%1654323%'::text))

All those OR conditions on different tables and fields seems like it will
be unlikely that the planner will do anything with the index you are trying
to create (for this query).

On the error, I came across discussions on dba.stackexchange.com
referencing a limit of about 1/3 of the page size (8192) for every
key because of it being a btree underneath. It could be one or more of your
keys in ops (like shop, camp_code, and shipping_company) is much longer
than those examples shown in the query.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2020-08-11 22:46:32 Re: Hstore index for full text search
Previous Message Burhan Akbulut 2020-08-11 20:52:53 Hstore index for full text search