[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un cham
From: |
Frédéric Glorieux |
Subject: |
Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ |
Date: |
Fri, 17 Jun 2005 19:43:03 +0200 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
J'ai l'impression qu'il n'y aurait pas grand chose à faire
http://savannah.nongnu.org/cgi-bin/viewcvs/sdx/sdx_v2/src/java/fr/gouv/culture/sdx/search/lucene/query/Terms.java?rev=HEAD&content-type=text/vnd.viewcvs-markup
chercher
"private static RE getRE(String str) throws RESyntaxException"
En commentant les lignes 725 et 730
// case '^':
// case '|':
Vous pouvez permettre des expressions régulières plus précises, comme
par exemple
^B*|^A*
(les auteurs qui commencent pas A ou B)
Par contre, cela ne fait pas une syntaxe très intuitive pour le public.
Les expressions régulières donnent des résultats trop innatendus pour
ouvrir cela sans réflexion dans SDX.
Par exemple,
A*|B*
Donnera aussi bien "Allais, Alphonse", que "d'Artagnan" ou "France,
Anatole" (ne pas oublier le '^' pour indiquer le début de terme).
Evidemment A*|a* donne à peu près tout (constaté après test).
Ce n'est plus une solution en 1 ligne, mais on peut faire fonctionnner
ceci, pas trop éloigné de la syntaxe habituelle
A* a*
Par contre, si vous vouliez des espaces dans vos termes, c'est foutu.
Cela vous demande à compiler la classe, et à la mettre dans sa
hiérarchie sous
WEB-INF/classes/ (pour surcharger le jar SDX sans y toucher).
J'interviens tard, mais à ma connaissance SDX ne permet pas de faire
cela directement. On peut le simuler avec un post-traitement, mais on
perd la notion de pagination des termes qu'offre SDX.
Une autre solution consiste à préfixer le contenu de ton champ par la
première lettre sans différence de casse. Par exemple, si tu as les
termes Avion et amirauté, tu peux stocker dans ton champ:
a|amirauté
a|Avion
Ensuite, tu filtres sur v=a* et tu auras les deux. Evidemment à
l'affichage tu proposes <xsl:substring-after(sdx:term/@value, '|')/>
mais ça tu y aurais pensé tout seul ;-)
--
Frédéric Glorieux ("AJLSM", <http://ajlsm.com>)
- [sdx-users] affichage alphabétique d'une liste de terme sur un champ, Vincent LECONTE, 2005/06/17
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Pierrick Brihaye, 2005/06/17
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Martin Sevigny, 2005/06/17
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ,
Frédéric Glorieux <=
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Frédéric Glorieux, 2005/06/22
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Pierrick Brihaye, 2005/06/22
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Frédéric Glorieux, 2005/06/22
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Pierrick Brihaye, 2005/06/22
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Frédéric Glorieux, 2005/06/22
- Re: [sdx-users] affichage alphabétique d'un e liste de terme sur un champ, Pierrick Brihaye, 2005/06/24