On Aug 18, 2009, at 6:21 PM, Tom Lane wrote:

What GIN indexes are good for is indexing equality queries on the
components of something the database otherwise thinks of as a single
object.  For instance you can GIN-index searches for arrays containing
a particular value as a member.

Now type text doesn't have any built-in notion of a component, other
than individual characters, which aren't normally that interesting
to search for.  What I suppose the OP has in mind is full-text
searching, which is looking for component *words*.  But "word" is a
very language- and context-dependent concept. And defining which words
are to be considered equal for searching purposes is even more so.
If we'd hard-wired one notion of "word" into datatype text, it wouldn't
be very flexible.  The point of the tsvector layer is to have a
configurable way to extract searchable words from a chunk of text.
There are also some implementation advantages like not having to repeat
that processing constantly during a search --- but the main point is
having a place to define what a word is and what search equality means.

Yes, I was looking for full text searching in english. Since my postgresql.conf contained:

default_text_search_config = 'pg_catalog.english'

doesn't this specify the parser, dictionary, and template to use for full text searching in english? I should have mentioned the above in my post but since it was in the original conf file (debian install) I didn't think of it.

Bob Gobeille
b...@fossology.org




--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to