Can this fit?

select plainto_tsquery('english', 'the quick brown fox jumped over the
lazy fox');
                   plainto_tsquery                   
-----------------------------------------------------
 'quick' & 'brown' & 'fox' & 'jump' & 'lazi' & 'fox'

-Sushant.

On Thu, 2011-08-25 at 18:21 +0200, Massa, Harald Armin wrote:
> I want to access the single words in a text. Better yet: the relevant
> words (i.e. without stop words) in a text.
> 
> 
> to_tsvector or casting gets me the lexems as a tsvector:
> 
> 
> select to_tsvector('the quick brown fox jumped over the lazy fox')
> ''brown':3 'fox':4,9 'jump':5 'lazi':8 'quick':2'
> 
> 
> And I would like to access "brown", "fox", "jump", "lazi" and "quick"
> as single values that I insert into another table. 
> 
> 
> But: no luck with any tries to convert to records, arrays or similiar.
> 
> 
> Next step, the lesser-known-fts-functions:
> 
> 
> select ts_parse('default','the quick brown fox jumped over the lazy
> fox')
> 
> 
> (1,the)
> (12," ")
> (1,quick)
> [...]
> (1,fox)
> 
> 
> is a set-returning-function, giving me 17 records of type
> pseudo-record. Stopwords still in there, so what. But: No chance of
> accessing the second field in that record.
> 
> 
> Of course, there is allways:
> 
> 
> select  substr(what::text,position(',' in
> what::text)+1,char_length(what::text)-position(',' in what::text)-1)
> from 
> (
> select ts_parse('default','the quick brown fox jumped over the lazy
> fox') as what
> )x
> 
> 
> but, comeon: having a two-field-record, casting it to one field of
> text, searching for the "," that separates the two fields and then
> split the one-field into two fields by substring?
> 
> 
> So, is there a better way to access 
> 
> 
> a) the lexems of a tsvector
> b) the (unnamed) fields of a set-of-record-returning function
> 
> 
> ?
> Harald
> 
> 
> -- 
> Harald Armin Massa     www.2ndQuadrant.de
> PostgreSQL  Training, Services  and Support
> 
> 2ndQuadrant Deutschland GmbH     
> GF: Harald Armin Massa
> Amtsgericht Stuttgart, HRB 736399



-- 
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