Handling Complex queries in PostgreSQL fulltext search

Started by Gaini Rajeshwarover 16 years ago2 messagesgeneral
Jump to latest
#1Gaini Rajeshwar
raja.rajeshwar2006@gmail.com

Hi All,

Does anyone know how to handle complex queries?

For Example, If i want to search for something like:

*(portable battery AND magnetic induction) OR (database management system)*

This is a sample query and user can specify any kind of complex query in
this way. I can't ask user to specify *&, |, !* operators. Instead i can ask
to use *AND, OR, NOT* operators. If nothing is specified by default
*&*operator should be used.

Is there any way to convert/specify user given query in Fulltext Search.

For Example, In Sphinx I can give the same query as

*'(portable battery && magnetic induction) | (database management system)'

*Here i need not to mention the & operator between *portable, battery.

*Is there any way we can specify this in PostgreSQL Fulltext search (i.e
without bothering about inserting & operator in between)?

Thanks,

Gaini Rajeshwar

#2Guillaume Lelarge
guillaume@lelarge.info
In reply to: Gaini Rajeshwar (#1)
Re: Handling Complex queries in PostgreSQL fulltext search

Le dimanche 1 novembre 2009 à 09:50:29, Gaini Rajeshwar a écrit :

Hi All,

Does anyone know how to handle complex queries?

For Example, If i want to search for something like:

*(portable battery AND magnetic induction) OR (database management system)*

This is a sample query and user can specify any kind of complex query in
this way. I can't ask user to specify *&, |, !* operators. Instead i can
ask to use *AND, OR, NOT* operators. If nothing is specified by default
*&*operator should be used.

Is there any way to convert/specify user given query in Fulltext Search.

No, but the tool they use can do the translation work: replacing AND with an
ampersand, OR with |, etc.

For Example, In Sphinx I can give the same query as

*'(portable battery && magnetic induction) | (database management system)'

*Here i need not to mention the & operator between *portable, battery.

*Is there any way we can specify this in PostgreSQL Fulltext search (i.e
without bothering about inserting & operator in between)?

Not yet.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com