sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] Problèmes de majuscules et d'accents...


From: Pierrick Brihaye
Subject: Re: [sdx-users] Problèmes de majuscules et d'accents...
Date: Thu, 17 Apr 2003 11:17:26 +0200
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.2) Gecko/20030208 Netscape/7.02

Re,

address@hidden a écrit:

J'ai fait une requête sur des champs. Elle fonctionne uniquement quand j'écris les mots recherchés exactement comme ils sont dans mon fichier xml, c'est-à- dire quand je mets les majuscules et les accents. Je travaille en ISO-8859-1. Je ne sais pas si c'est cela, pourriez-vous m'éclairer?

Si votre "champ" (votre "index ;-) est de type "field", il n'est *pas* analysé : les valeurs sont donc stockées *telles quelles* dans l'index. Je rappelle que la génération des valeurs et du ressport de votre XSL d'indexation et que rien ne vous empêche de réaliser des manipulations très complexes.

Si votre index est de type "word", il est analysé, c.a.d. réduit en "jetons" (des... mots), filtré (exit les mots vides), harmonisé (majuscules, accents...). Je passe les détails ; pour en savoir plus :

http://lucene.sourceforge.net/cgi-bin/faq/faqmanager.cgi?file=chapter.indexing&toc=faq#q16

De même, n'y a-t-il pas un moyen d'éviter de mettre des étoiles (*) autour des mots que l'on recherche. Je m'explique : lorque je cherche le terme "archives" dans le champ titre, je n'ai pas de résultat

Logique, si votre index est de type "field", ça ne répondra que si la valeur pour "titre" est égale à "archives" (et pas "Archives" ni "archives départementales").

(de même lorsque je cherche "archives *")

Logique aussi. ici, vous recherchez "archives *". Peu probable comme valeur, non ?

> Alors que lorsque je cherche "* archives *" je trouve
> bien le résultat attendu.

Mmmh... En êtes-vous sûre ? Regardez comment SDX a interprété la requête (attribut "LuceneQuery") : ça devrait vous donner des éléments de réponse ;-)

Y a-t-il un moyen d'éviter de rajouter ces étoiles, en le mettant dans le code?

A considérer que ça ait un intérêt, ce dont je doute personnellement, bien sûr que c'est possible !

Vous récupérez votre paramètre en XSP et vous le transformez. Un truc du genre :

<xsp:logic>
String avec_des_etoiles = new String("* " + request.getParameter("mon_parametre") + " *"); <sdx:executeFieldQuery fieldParam="champ" valueString="avec_des_etoiles"/>
</xsp:logic>

Vous pouvez aussi utiliser Javascript lors du submit. Au choix !

A bientôt,

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]