Creating or modifying a tsquery from PL/pgSQL

Started by Tobia Confortoalmost 10 years ago1 messagesgeneral
Jump to latest
#1Tobia Conforto
tobia.conforto@gruppo4.eu

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