Database design for separate tsearch table - Mailing list pgsql-general

From Mikkel Høgh
Subject Database design for separate tsearch table
Date
Msg-id 20081022221019.GA16207@samson.jerusalem.local
Whole thread Raw
Responses Re: Database design for separate tsearch table  (Ivan Sergio Borgonovo <mail@webthatworks.it>)
List pgsql-general
Hi,

I'm trying to make a module allowing Drupal to take advantage of
PostgreSQL's excellent Full Text Search, aka. tsearch.

Since this module will probably not become part of Drupal core right off
the bat, I need to do this without modifying Drupal's own tables, so I've
created a new one for the purpose, "tsearch_node".

I'm pondering how best to do this. Basic minimum is a column which holds
the foreign key (nid) to Drupal's node.

I'm wondering whether to merge all the searchable stuff when creating the
index or to have a separate tsvector column for each of the three
commonly indexable things about Drupal content (nodes), namely the title,
the body and taxonomy. Any insights?

Also, I figure it'd be a good idea to keep the language of the indexed
content right there in the same table, since Drupals own node table
specifies two-letter codes (en, da, pt, etc.) and as far as I can
understand the PostgreSQL documentation, tsearch expects the full
language name (english, danish, portuguese), so to use it in queries
without having to do too much magic would require me to store the full
name right there in the table, or am I mistaken?

Kind regards,

      Mikkel Høgh


pgsql-general by date:

Previous
From: "Otto Hirr"
Date:
Subject: docbook xml into/out-of sql-tables
Next
From: "Grzegorz Jaśkiewicz"
Date:
Subject: Re: join question