I am using tsearch2 to create a search engine for our website. I am
using the tsearch2 guide as my reference and am adapting it to fit our
I have a composite type for search_result. This is the definition:
Composite type "public.search_result"
Column | Type
article_id | integer
article_title | text
headline | text
rank | real
I then have a pl/pgsql function that returns a set of "search_result"
CREATE FUNCTION search(text) RETURNS SETOF search_result LANGUAGE sql $$
SELECT article_id, article_title, headline(article_text, q),
FROM articles, to_tsquery($1) AS q
WHERE article_vector @@ q ORDER BY rank(article_vector, q) DESC;
To do a full-text search, I only need to do this:
However, running the function gives me a recordset with only one
column ("search"). I'd like to be able to access the fields of the
composite type (search_result) that is returned by the function -
article_id, article_title, headline, and rank. I haven't figured out
how to do this but it's necessary because I want to be able to control
the formatting of the output.
Thanks and best regards,
Stand before it and there is no beginning.
Follow it and there is no end.
Stay with the ancient Tao,
Move with the present.
pgsql-novice by date
|Next:||From: Matt Arnilo S. Baluyos (Mailing Lists)||Date: 2006-04-18 17:45:27|
|Subject: Re: Accessing fields in a function that returns a set of composite type - How?|
|Previous:||From: Robert Landsmeer||Date: 2006-04-18 15:49:08|
|Subject: Re: Find all foreign keys and dropping them from a script.|