Re: tsearch2 in PostgreSQL 8.3?

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Trevor Talbot <quension(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Mike Rylander <mrylander(at)gmail(dot)com>, "tomas(at)tuxteam(dot)de" <tomas(at)tuxteam(dot)de>, Josh Berkus <josh(at)agliodbs(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Subject: Re: tsearch2 in PostgreSQL 8.3?
Date: 2007-08-18 17:47:08
Message-ID: 200708181747.l7IHl8x04612@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Trevor Talbot wrote:
> On 8/18/07, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> > Remember an expression index can be a user-created function so you can
> > embed whatever you want in your function and just index it's output,
> > just like you would with a trigger creating a separate column.
>
> Well, you could create a function that returns a tsvector, but how do
> you get that to work with queries? I've been under the impression the
> expressions need to match (in the normal case, be the same function
> with the same arguments) in order to use the index.

Yes, so you create a function called complex_ts and create the index:

CREATE INDEX ii on x USING GIT(complex_ts(col1, col2))

and in your WHERE clause you do:

WHERE 'a & b' @@ complex_ts(col1, col2)

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2007-08-18 17:52:45 Re: tsearch2 in PostgreSQL 8.3?
Previous Message Tom Lane 2007-08-18 17:30:33 Re: tsearch2 in PostgreSQL 8.3?