Creating or modifying a tsquery from PL/pgSQL - Mailing list pgsql-general

From Tobia Conforto
Subject Creating or modifying a tsquery from PL/pgSQL
Date
Msg-id 65CA8C0E-1BF2-48F4-854D-402307064FC5@gruppo4.eu
Whole thread Raw
List pgsql-general
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/pgSQLwithout converting it to/from text? Would you recommend a different approach? 

-Tobia

pgsql-general by date:

Previous
From: Vick Khera
Date:
Subject: Re: Table ordering in pg_dump
Next
From: Oleg Bartunov
Date:
Subject: Re: Question about RUM-index