Bonjour,

>La seconde syntaxe de filtrage doit obligatoirement se terminer par un
>paramètre field. Pas testé :
><sdx:terms>
>  <sdx:parameter name="field" value="region" />
>  <sdx:parameter name="value" value="Aquitaine" />
>  <sdx:parameter name="field" value="ville" />
>  <sdx:parameter name="value" value="a*" />
>  <sdx:parameter name="field" value="ville*" />
></sdx:terms>

En fait cette requète parait équivalente à ce que je cherche à faire mais elle 
ne l'est pas :
Les duos champs/valeurs qui précédent le champ sur lequel on désire voir la 
liste des termes sont utilisé pour filtrer le jeux de document sur lequel on 
travaille à priori de la création de la liste.
Si une notice contient plusieurs occurances d'un même champ (pas très pertinent 
dans l'exemple des villes, imaginons plutôt la description d'un objet composé 
d'acier et de bois avec un champ matère) dont une commençant pas la lettre A, 
toutes les occurances du champ de cette notice apparaitront dans la liste. 
(donc bois va apparaître malgrès mon filtre sur a*).

Alors que la syntaxe se terminant par un <sdx:parameter name="value" value="a*" 
/> implique un filtre appliqué directement sur la liste de terme à posteriori 
de sa création.




Pour les dev:
J'ai regardé dans le code (fr.gouv.culture.sdx.search.lucene.query : 
Terms.java) et le cas n'est tout simplement pas traité, j'ai rajouté une 
méthode getTerms correspondant à ce cas de figure et ça a l'air de fonctionner. 
Si jamais ça vous interesse n'hésitez pas à me le faire savoir.

Vincent Leconte
Mobydoc





_______________________________________________
sdx-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/sdx-users

Répondre à