Re: Differences between to_tsquery() and plainto_tsquery() when it comes to applying an index? - Mailing list pgsql-general

From Tom Lane
Subject Re: Differences between to_tsquery() and plainto_tsquery() when it comes to applying an index?
Date
Msg-id 25605.1282772060@sss.pgh.pa.us
Whole thread Raw
In response to Re: Differences between to_tsquery() and plainto_tsquery() when it comes to applying an index?  (Denis Papathanasiou <denis.papathanasiou@gmail.com>)
Responses Re: Differences between to_tsquery() and plainto_tsquery() when it comes to applying an index?
List pgsql-general
Denis Papathanasiou <denis.papathanasiou@gmail.com> writes:
> alerts=> CREATE INDEX node_val_tsv_idx ON node USING
> gin(to_tsvector('english', val));
> CREATE INDEX
> alerts=> explain analyze select item_pk from node where
> tag='primaryIssuer.entityType' and val @@ plainto_tsquery('Limited
> Partnership');
> [ doesn't use the index ]

That index doesn't match the query, so it can't be used.  Try

select item_pk from node where
tag='primaryIssuer.entityType' and
to_tsvector('english', val) @@ plainto_tsquery('Limited Partnership');

Note that seeing that the scan on the other index is pretty cheap,
it's not obvious that indexing the @@ clause is better anyway.
But it *can't* index this query using this index.

            regards, tom lane

pgsql-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: Differences between to_tsquery() and plainto_tsquery() when it comes to applying an index?
Next
From: Bill Christensen
Date:
Subject: Re: Problem with dumps