Thread: Single Quote in tsquery

Single Quote in tsquery

From
Ryan Wallace
Date:
Hi all,

I am trying to perform a full text search for the word 'ksan (which starts with a quote). After much frustration and
syntaxerrors I stumbled upon the following statement which seems to work:
 

select *
from items
where to_tsvector(name) @@ to_tsquery(E'[\']ksan')

I would like to know if this is actually the correct way to search for this word? The use of brackets isn't documented
anywherethat I can find so I'm not sure if it is even doing what I want it to do or if the correct result is just a
coincidence.

Thanks,
Ryan



Re: Single Quote in tsquery

From
Alvaro Herrera
Date:
Ryan Wallace wrote:

> I am trying to perform a full text search for the word 'ksan (which
> starts with a quote). After much frustration and syntax errors I
> stumbled upon the following statement which seems to work:
> 
> select *
> from items
> where to_tsvector(name) @@ to_tsquery(E'[\']ksan')
> 
> I would like to know if this is actually the correct way to search for
> this word? The use of brackets isn't documented anywhere that I can
> find so I'm not sure if it is even doing what I want it to do or if
> the correct result is just a coincidence.

I think the tsearch grammar supports something it calls "simplified
regular expressions" or some such, which includes character classes
(delimited by brackets).  So it would seem that what you show is
actually supported and correct.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.