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. +
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? |