Par gouin le 23/02/2006 - 13:33
Bonjour,
Sur une base de donnée partant de zero nous essayons de configurer le module Tsearch2.
L'installation de Postgresql est une 8.1 sous winXp.
L'installation de Tsearch2 à été faite lors de l'installation de Postgresql.
Nous essayon de creer un dictionnaire avec ce script :
--------------------------------------------------------------------------------
-- pg_ts_cfg
insert into pg_ts_cfg values('default_french','default','French_France.1252');
-- sous DOS, "pg_controldata data" affiche les valeurs de LC_COLLATE et LC_CTYPE : French_France.1252
-- pg_ts_cfgmap
insert into pg_ts_cfgmap values ('default_french','email','{simple}');
insert into pg_ts_cfgmap values ('default_french','file','{simple}');
insert into pg_ts_cfgmap values ('default_french','float','{simple}');
insert into pg_ts_cfgmap values ('default_french','host','{simple}');
insert into pg_ts_cfgmap values ('default_french','hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','int','{simple}');
insert into pg_ts_cfgmap values ('default_french','lhword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lpart_hword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlhword','{simple}');
insert into pg_ts_cfgmap values ('default_french','nlpart_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','part_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','sfloat','{simple}');
insert into pg_ts_cfgmap values ('default_french','uint','{simple}');
insert into pg_ts_cfgmap values ('default_french','uri','{simple}');
insert into pg_ts_cfgmap values ('default_french','url','{simple}');
insert into pg_ts_cfgmap values ('default_french','version','{simple}');
insert into pg_ts_cfgmap values ('default_french','word','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lword','{fr_ispell,simple}');
-- pg_ts_dict
insert into pg_ts_dict values (
'fr_ispell',
'spell_init(internal)',
'DictFile="C:\\Program Files\\PostgreSQL\\8.1\\share\\contrib\\french.dict",
AffFile ="C:\\Program Files\\PostgreSQL\\8.1\\share\\contrib\\french.aff",
StopFile="C:\\Program Files\\PostgreSQL\\8.1\\share\\contrib\\french.stop"',
'spell_lexize(internal,internal,integer)',
'ISpell interface for french language');
--------------------------------------------------------------------------------
Mais lors de l'utilisation du dictionnaire fr_ispell (que se soit avec tsvector ou une autre fonction l'erreur suivante nous est renvoyée :
psql:c:/orchisWeb/postgresql/tsearch2/tsearch2.sql:37: ERROR: could not load dictionary file "C:Program FilesPostgreSQL8.1sharecontribfrench.dict"
Je tiens à noter qu'après vérification dans la table correspondante le path parait correct.
Y a t'il une partie de la configuration que nous avons oublié pour Tsearch2 ? les deux fichiers dict et aff ont été récupérés sur le site de Tsearch enfin le stop est un fichier que nous avions sur une autre base (que nous souhaitons re-créer).
Si quelqu'un à une idée, merci d'avance !