|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2005 Messages : 2 ![]() |
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. Merci beaucoup pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : janvier 2005 Messages : 336 ![]() |
La fonction to_ascii(text [, codage]) doit pouvoir servir sauf sur une base en Unicode
KrysKool |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2005 Messages : 2 ![]() |
Si j'utilise cette fonction, le mot "lycee" n'est plus considéré comme un mot du dictionnaire T-search. Du coup, si je tape "lycee" dans ma recherche, il va trouver. Mais si j'écris "lycée" ou "lycées", je n'aurai pas de réponses.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com