"Severn, Chris" <chris_severn@chernay.com> wrote:
> I have a statement that is like this
>
> SELECT m.* FROM movies m
> WHERE to_tsvector(m.item_title) @@ to_tsquery('Robocop|DVD|Collection')
>
> this works, but it correctly returns all the matching records
> that have any of the query items in them.
>
> What I want to do is return items that have 'Robocop' or 'Robocop
> and DVD' or 'Robocop and Collection' or 'Robocop and DVD and
> collection'
>
> is there an operator for the tsvector / tsquery relationship that
> will do this? Or am I forced to sift through the results of the
> initial query after the fact?
SELECT m.* FROM movies m
WHERE to_tsvector(m.item_title) @@ to_tsquery('Robocop & (DVD | Collection)')
--
Kevin Grittner
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company