PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 27/02/2022 13:01:58

kerebel
Membre

Recherche en plein texte - config. des repertoires de dictionnaires

Bonjour
Je débute et je rencontre une difficulté concernant l'utilisation de la recherche en plein texte.
Je souhaite pouvoir utiliser les dictionnaires en français.
Pour cela j'ai récupéré les fichiers frclassic.affix et frclassic.dict correspondant et je les ai mis dans le repertoire : « C:/Programmes/PostgreSQL/13/share/tsearch_data/frclassic.dict »

Sous pgadmin4, j'ai ensuite déclaré ces dernier via le script suivant :

CREATE TEXT SEARCH DICTIONARY ker_dict (
     TEMPLATE = ispell,
    DictFile = frclassic,
    AffFile = frclassic,
    Stopwords = french);

En retour j'ai eu le message suivant :

ERREUR : ERREUR:  n'a pas pu ouvrir le fichier dictionnaire « C:/Program Files/PostgreSQL/13/share/tsearch_data/frclassic.dict » : No such file or directory
État SQL : F0000

Je note effectivement que le chemin n'est pas le bon, puisque sur mon PC j'ai : « C:/Programmes/PostgreSQL/13/share/tsearch_data/frclassic.dict »

J'ai recherché dans plusieurs fichier *.txt, je n'ai pas trouvé de référence à "Program Files", que j'aurais pu remplacer par "programmes".

Bizarrement, en renomant les dictionnaires en français en ispell_sample.affix et ispell_sample.dict pour écraser les existants et que je lance le script suivant ça fonctionne ???

CREATE TEXT SEARCH DICTIONARY ker_dict (
     TEMPLATE = ispell,
    DictFile = ispell_sample,
    AffFile = ispell_sample,
    Stopwords = french);

Existe-t-il une commande pour changer le pointage du répertoire ? La manip doit-elle ce faire via pgadmin ou autre ?
Pourriez-vous m'indiquer dans quelle direction je dois chercher?

Merci de votre aide.

Hors ligne

#2 27/02/2022 14:39:47

rjuju
Administrateur

Re : Recherche en plein texte - config. des repertoires de dictionnaires

Bonjour,


Le fonctionnement est attendu.  Pour raisons de sécurité postgres n'accepte que les fichiers qui se trouvent dans le répertoire tsearch_data en question, vous devez donc y placer vos fichiers.


À noter également que ces fichiers doivent être présent sur le serveur et non le client, si les 2 machines sont différentes.

Hors ligne

#3 28/02/2022 11:29:53

jmarsac
Membre

Re : Recherche en plein texte - config. des repertoires de dictionnaires

Bonjour,

kerebel a écrit :

ERREUR : ERREUR:  n'a pas pu ouvrir le fichier dictionnaire « C:/Program Files/PostgreSQL/13/share/tsearch_data/frclassic.dict » : No such file or directory
État SQL : F0000

Je note effectivement que le chemin n'est pas le bon, puisque sur mon PC j'ai : « C:/Programmes/PostgreSQL/13/share/tsearch_data/frclassic.dict »

J'ai recherché dans plusieurs fichier *.txt, je n'ai pas trouvé de référence à "Program Files", que j'aurais pu remplacer par "programmes".

Pour info, "C:/Program Files" et "C:/Programmes" ne sont qu'un seul et même répertoire de même que  "C:/Program Files (x86)" et "C:/Programmes (x86)" dénommés différemment suivant le contexte.

Par exemple, si vous ouvrez un explorateur et vous placez dans le répertoire, la barre de titre de la fenêtre affichera  "C:/Program Files"alors que la barre d'adresse affichera "C:/Programmes"

pg13.png

Hors ligne

#4 28/02/2022 13:14:41

rjuju
Administrateur

Re : Recherche en plein texte - config. des repertoires de dictionnaires

Si les deux chemins sont vraiment équivalents, alors postgres aurait du trouver le fichier.  Comme indiqué :

À noter également que ces fichiers doivent être présent sur le serveur et non le client, si les 2 machines sont différentes.

S'agit-il de la même machine ou non ?

Hors ligne

#5 28/02/2022 14:22:06

genamiga
Membre

Re : Recherche en plein texte - config. des repertoires de dictionnaires

Une piste...

Comme il y a un espace entre Program et Files

Est-ce le nom du chemin complet est bien entre guillemets qlq part...

Dernière modification par genamiga (28/02/2022 14:22:23)

Hors ligne

#6 28/02/2022 15:45:07

jmarsac
Membre

Re : Recherche en plein texte - config. des repertoires de dictionnaires

jmarsac a écrit :

Bonjour,

kerebel a écrit :

ERREUR : ERREUR:  n'a pas pu ouvrir le fichier dictionnaire « C:/Program Files/PostgreSQL/13/share/tsearch_data/frclassic.dict » : No such file or directory
État SQL : F0000

Je note effectivement que le chemin n'est pas le bon, puisque sur mon PC j'ai : « C:/Programmes/PostgreSQL/13/share/tsearch_data/frclassic.dict »

J'ai recherché dans plusieurs fichier *.txt, je n'ai pas trouvé de référence à "Program Files", que j'aurais pu remplacer par "programmes".

Pour info, "C:/Program Files" et "C:/Programmes" ne sont qu'un seul et même répertoire de même que  "C:/Program Files (x86)" et "C:/Programmes (x86)" dénommés différemment suivant le contexte.

Par exemple, si vous ouvrez un explorateur et vous placez dans le répertoire, la barre de titre de la fenêtre affichera  "C:/Program Files"alors que la barre d'adresse affichera "C:/Programmes"

https://www.azimut.fr/files/pg13.png


Si l'arborescence C:/Programmes/PostgreSQL/13/share/tsearch_data a été créée manuellement, on se retrouve dans l'explorateur avec deux dossiers Programmes, l'un qui pointe sur "C:\Program Files" et l'autre sur "C:\Programmes".  sad
Sinon comme le dit genamiga, il faudrait probablement encadrer le chemin avec des guillemets.

pg13a.png

Hors ligne

#7 02/03/2022 18:04:59

kerebel
Membre

Re : Recherche en plein texte - config. des repertoires de dictionnaires

Bonsoir, et merci pour vos explications. Comme l'a expliqué Jmarsac, Les répertoires "Programs Files" et "Programmes" sont bien un et même répertoire. A noter qu'il est nécessaire d'avoir les droits pour modifier les fichiers dictionnaires *.affix et *.dict.  Par ailleurs, comme l'a indiquer rjuju, il faut faire attention à ne pas confondre les dictionnaires en local et ceux du serveur. lors de l'installation de postgres ces même fichiers sont installés en local, mais ce sont bien ceux du serveur, où sont vos BDD, qui seront utiliser.

Hors ligne

Pied de page des forums