From: | APseudoUtopia <apseudoutopia(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: tsvector Column Indexing Across Two Tables |
Date: | 2009-09-07 02:39:28 |
Message-ID: | 27ade5280909061939k7067a5c8n2d43b5b23479cd2e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, Sep 6, 2009 at 9:57 PM, APseudoUtopia<apseudoutopia(at)gmail(dot)com> wrote:
> Hey list,
>
> I have a forum. I'm in the process of adding a full-text search. The
> forum is split into a couple tables, including forums_posts and
> forums_topics. The latter contains only the title of the topic and
> some other information, like an ID number. The forums_posts table
> contains the body of the post, the topicid it belongs to, and some
> other things.
>
> I'd like to index the title of the topic as well as the body of the
> posts in a single tsvector column. I'm investigating ways to do this.
>
> I created a tsvector column in forums_topics. I would have to somehow
> LEFT JOIN the forums_posts table to get the body of the post.
> Something like this:
>
> ALTER TABLE "forums_topics" ADD COLUMN "search_index" tsvector;
> UPDATE "forums_posts" SET "search_index" = to_tsvector('english',
> coalesce("forums_topics"."subject", '') || ' ' ||
> coalesce("forums_posts"."body", '')) FROM "forums_topics" ON
> ("forums_posts"."topicid" = "forums_topics"."id");
>
> I don't think this would be the correct JOIN in the UPDATE clause. It
> would need to be a `topics LEFT JOIN posts` type join. I'm not sure
> how to do this properly.
>
> Also, how would a trigger work in this case? tsvector_update_trigger()
> does not work across tables, does it? I would have to write my own
> procedure in order to correctly use a trigger. I'm not sure how to
> begin doing that.
>
> Thanks.
>
Sorry to post again. I was reading over the documentation and I
discovered that it is possible to concatenate two tsvector's together.
So I can concat the subject tsvector index from the forums_topics
table with the post body in forums_posts.
From | Date | Subject | |
---|---|---|---|
Next Message | Rakotomandimby Mihamina | 2009-09-07 06:26:27 | edit function |
Previous Message | APseudoUtopia | 2009-09-07 01:57:00 | tsvector Column Indexing Across Two Tables |