Re: tsearch2: more than one index per table? - Mailing list pgsql-general

From Andrew J. Kopciuch
Subject Re: tsearch2: more than one index per table?
Date
Msg-id 200511230821.39096.akopciuch@bddf.ca
Whole thread Raw
In response to Re: tsearch2: more than one index per table?  ("Rick Schumeyer" <rschumeyer@ieee.org>)
List pgsql-general
On Wednesday 23 November 2005 06:55, Rick Schumeyer wrote:
> I apologize if I'm being dense, but I'm not completely following the
> explanation.  It is true that my pg_ts_cfg.locale is set to en_US.UTF-8.
>
> It was my understanding that specifying "default" as in
>

That takes the locale that is specified in the tsearch2 configuration called
"default";

take a look at this :

ftstest=# select * from pg_ts_cfg;
     ts_name     | prs_name |    locale
-----------------+----------+--------------
 default         | default  | C
 default_russian | default  | ru_RU.KOI8-R
 simple          | default  |
 custom          | default  |

If you don't have a record in that table that matches the server encoding
(en_US.UTF-8), you need to create a new configuration to use that locale.
That's all describe in the link I sent before.

If you have a configuration you always want to use you can just switch to that
configuration.

If you do something like this :

ftstest=# select set_curcfg('simple');
 set_curcfg
------------

(1 row)

ftstest=# select to_tsvector('simple', 'a simple test');
        to_tsvector
---------------------------
 'a':1 'test':3 'simple':2
(1 row)

ftstest=# select to_tsvector('a simple test');
        to_tsvector
---------------------------
 'a':1 'test':3 'simple':2
(1 row)

ftstest=# select to_tsvector('default', 'a simple test');
    to_tsvector
--------------------
 'test':3 'simpl':2
(1 row)


The second example does not specify a configuration, but because you set in
the set_curcfg statement it knows to use the "simple" configuration.



> UPDATE t SET idxB=to_tsvector('default', b);
>

This forces a configuration called "default"

> UPDATE t SET idxB=to_tsvector(b); -- no 'default'
>

This doesn't tell it which configuration to use, so it tries to find one that
matches your locale (en_US.UTF-8).  There probably isn't one in pg_ts_cfg, so
it gives the error.




hth,



Andy

pgsql-general by date:

Previous
From: Richard van den Berg
Date:
Subject: Re: pg_ctl start leaves dos window open
Next
From: "Andrus"
Date:
Subject: Re: Why pgAdmin III guru suggests VACUUM in 8.1