Re: Full text search on a complex schema - a classic problem?

From: Andy Colson <andy(at)squeakycode(dot)net>
To: Ivan Voras <ivoras(at)freebsd(dot)org>, pgsql-general(at)postgresql(dot)org
Subject: Re: Full text search on a complex schema - a classic problem?
Date: 2010-05-23 16:03:26
Message-ID: 4BF951CE.2060606@squeakycode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 05/22/2010 09:40 PM, Ivan Voras wrote:
> Hello,
>
> I have a schema which tracks various pieces of information which would
> need to be globally searchable. One approach I came up with to make all
> of the data searchable is to create a view made of UNION ALL queries
> that would integrate different tables into a common structure which
> could be uniformly queried by using tsearch2 functions. This would work,
> up to the point where it would be practically unavoidable (for
> performance reasons) to create indexes on this view, which cannot be
> done. I would like to avoid using a "hand-made" materialized view (via
> triggers, etc.) because of administrative overhead and because it would
> duplicate data, of which there is potentially a lot.
>
> I think this looks like a fairly common problem with full text searches
> on a large-ish schemas, so I'm wondering what are the best practices
> here, specifically with using tsearch2?
>
>

I have something like this, but with PostGIS layers. When a person clicks I search all the different layers (each a table) for information. I use a stored proc. Each table has its own index so each table is fast. It also lets me abstract out differences between the layers (I can search each a little differently).

If each of your tables had its own full text fields and indexes, then write a stored proc to search them all individually, it should be pretty quick.

-Andy

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message rihad 2010-05-23 16:13:48 Re: UPDATE ... RETURNING atomicity
Previous Message Tom Lane 2010-05-23 15:19:33 Re: UPDATE ... RETURNING atomicity