I'd like to convert a plain search string into a tsquery, much like 
plainto_tsquery(), but enabling prefix searches (:*) for every word.

I've come up with this:

select regexp_replace(
           plainto_tsquery('english', 'text to search')::text,
           '''(?= |$)', ''':*', 'g'
       )::tsquery;
--> 'text':* & 'search':*

Is this the best way to do it, without writing C code? Can I otherwise 
manipulate the tsquery data structure from PL/pgSQL without converting it 
to/from text? Would you recommend a different approach?

-Tobia

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to