Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1702 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  caractères accentuées avec Tsearch 2 sur Postgres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

caractères accentuées avec Tsearch 2 sur Postgres

n°1096397
nilytel
Posté le 25-05-2005 à 12:08:40  profilanswer
 

Bonjour,
 
J'ai tenté d'installer le module T-search 2 de PostgreSQL avec le dictionnaire français mais je rencontre un problème avec les mots accentués. Je voudrais que "lycée" et "lycee" ("société"-"societe", "accentué"-"accentue"...) soit considéré comme étant le même mot, qu'il n'y ait pas de distinction. Ceci permettrait d'avoir des résultats pertinents, y compris pour les personnes qui ne tapent pas les caratères accentués.
 
 
Ma configuration est la suivante :
 
- dans la table pg_ts_dict :
 
dict_name
fr_ispell
dict_initoption
Dict_File=/usr/share/dict/french.dict,AffFile=/usr/lib/ispell/french.aff,StopFile=/usr/share/postgresql/contrib/french.stop
 
french.dict contient des lignes du genre (S précise que c'est un mot singulier, F précise que c'est un mot féminin) :
lycopode/S
lycose/S
lycra
lycène/S
lycée/S
lycéenne/F
lyddite/S
 
french.aff permet de décoder les mots
 
french.stop contient des petits mots non inclus dans la recherche (le, la, les...)
 
 
- dans la table pg_ts_cfg :
 
ts_name  prs_name locale
fr  default  fr_FR
 
 
- dans la table pg_ts_cfgmap
ts_name  tok_alias dict_name
fr  email  {simple}
fr  file  {simple}
fr  float  {simple}
fr  host  {simple}
fr  hword  {fr_ispell,simple}
fr  int  {simple}
fr  lhword  {fr_ispell,simple}
fr  lpart_hword {fr_ispell,simple}
fr  lword  {fr_ispell,simple}
fr  nlhword  {fr_ispell,simple}
fr  nlpart_hword {fr_ispell,simple}
fr  nlword  {fr_ispell,simple}
fr  part_hword {simple}
fr  sfloat  {simple}
fr  uint  {simple}
fr  uri  {simple}
fr  url  {simple}
fr  version  {simple}
fr  word  {fr_ispell,simple}
 
 
J'ai ensuite une table t_avis, qui contient un champ avis et un vecteur de cet avis, renseigné avec :  
update t_avis set vectors=to_tsvector('fr',avis).
C'est donc sur cette table que survient mon problème.
 
Ma question est donc : est-il possible que, lorsqu'une personne tape "lycee", on recherche dans le champ vectors comme si la personne avait tapé "lycée" ? Ou inversement, on recherche "lycee" dans le vecteur qui au préalable contient des mots non accentués.
En sachant que "lycee" n'est pas reconnu comme étant un mot du dictionnaire.
 
 
Merci beaucoup pour votre aide.

mood
Publicité
Posté le 25-05-2005 à 12:08:40  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  caractères accentuées avec Tsearch 2 sur Postgres

 

Sujets relatifs
Rechercher un mot dans une chaîne de caractères ...Tester si une chaine contient des caractères spéciaux
défilement de caractères de gauche à droite[ ASP / JavaScript ? ] Manipulation chaîne de caractères
problème de get sur les chaines de caracteres (buffer)debutante fille postgres transactions dblinks
problème avec l'envoi de mail : caractères mangés[PERL] Gestion des caractères accentués
Erreur : Accès refusé pour l'utilisateur: 'postgres'@'@localhost' (mot[PHP / J.S] Champ texte dans un formulaire et caractères spéciaux
Plus de sujets relatifs à : caractères accentuées avec Tsearch 2 sur Postgres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR