tsearch2 text::TSVECTOR cast not working for me on Pg 8.1.6

From: "James Reynolds" <jamex(at)taraketh(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: tsearch2 text::TSVECTOR cast not working for me on Pg 8.1.6
Date: 2008-02-11 20:37:18
Message-ID: 64772.38.96.151.250.1202762238.squirrel@QuestMail.FutureQuest.net:443
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I want to convert a TEXT string that I am mangling to TSVECTOR with a cast.
I am using Postgresql 8.1.6 and tsearch2.

According to the documentation this should work although I am getting an
ERROR.

tsearch2 reference on www.sai.msu.su says that

text::TSVECTOR RETURNS TSVECTOR

FWIW, I am using regexp_replace to just take out the first occurrence of
each lexeme and then trying to cast back into a tsvector.

EG:

SELECT replace(
regexp_replace(
textin(
tsvector_out(
to_tsvector('default', coalesce(l.comments, ''))
)
)::TEXT
, '(:\\d+[ABCD]*)(\\,\\d+[ABCD]*)*', '\\1', 'g')
, '''', '')::tsvector
FROM listings l LIMIT 1;

ERROR: cannot cast type text to tsvector

What is interesting is that a basic select works probably because the
pseudo type 'cstring' is in effect.

select 'To a Vector'::TSVECTOR;
tsvector
-------------------
'a' 'To' 'Vector'
(1 row)

Time: 3.297 ms

Any ideas on how to get back to a cstring so that it will work
OR
how to make the text::TSVECTOR cast work?

Cheers,
James

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-02-11 21:45:42 Re: tsearch2 text::TSVECTOR cast not working for me on Pg 8.1.6
Previous Message Jeff Davis 2008-02-11 19:55:38 Re: Empty to NULL conversion - Ruby - Postgres ?