How to use Logical Operators in Fulltext Search?

From: Gaini Rajeshwar <raja(dot)rajeshwar2006(at)gmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org mailing list" <pgsql-general(at)postgresql(dot)org>
Subject: How to use Logical Operators in Fulltext Search?
Date: 2009-10-21 13:12:49
Message-ID: 56b36eb60910210612w568557cbrea8a89e1bcff63a9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi All,

I am doing a fulltext search something like this:

SELECT doc_id FROM docs WHERE tsv_title($$'magnetic induction'$$) OR
tsv_body($$'magnetic induction'$$) OR tsv_abstract($$'abstract'$$)

It is taking approximately 100 secs to execute.

But running the query on individual column something like below is taking
just few milliseconds

1) SELECT doc_id FROM docs WHERE tsv_title($$'magnetic induction'$$)

2) SELECT doc_id FROM docs WHERE tsv_body($$'magnetic induction'$$)

3) SELECT doc_id FROM docs WHERE tsv_abstract($$'magnetic induction'$$)

All the above queries are taking just few milliseconds, whereas the bigining
one taking around 100 secs.

Does anyone know, what could be wrong in this? Is this not the way to
specify logical operators like *AND, OR, NOT ?*

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sam Jas 2009-10-21 13:24:34 Re: How to use Logical Operators in Fulltext Search?
Previous Message Sergey Konoplev 2009-10-21 12:48:12 Index Scan/Bitmap Index Scan for queries with FTS and ORDER+LIMIT