sdx-users
[Top][All Lists]
Advanced

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

RE: [sdx-users] Problème sdx:filter


From: Castonguay Dave
Subject: RE: [sdx-users] Problème sdx:filter
Date: Wed, 23 Mar 2005 09:50:51 -0500

Re à tous :)


Merci pour les réponses!

J'ai essayé ce que Pierre a suggéré. Je me suis vite apperçu que j'avais besoin 
d'un executeQuery :)
Ça fonctionne bien. :)

Sauf que pour le moment ma base est vide et vos inquiétudes faces aux 
performances me font un peu peur :(

Autre chose qui est malheureuse pour moi, c'est que en passant un paramètre 
"qid" à sdx:terms, on  perd la possibilité
de de passer des truncature (B*). Ce dont j'avais besoin car ces pages sont 
orgnaisé par liste alpha (où on offre des liens sur les lettres ayant des 
termes).

On voit dans la logicsheet:
   sdx_object=getSessionObject(session, sdx_parameter);
   if (sdx_object != null && sdx_object instanceof Results)
   {
     sdx_results=(Results)sdx_object;
    if (sdx_results != null) sdx_terms.setUp(sdx_results, sdx_fields[0], 
sdx_values[0]);
   }

On remarque que l'onne passe que le premier élément des sdx_fields[] et 
sdx_values[].
Ce qui rend impossible (aucun résultats):

         <sdx:terms  qidString="myQid">
                          <sdx:parameter name="field" valueParam="field" />
                          <sdx:parameter name="value" valueParam="value" />
                        <!-- value est A*, B*, C*, etc... -->
                 
                          <sdx:parameter name="field" valueParam="field" />

                 
                     <sdx:location base="notice"/>
       </sdx:terms>
 
Mais ce code fonctionne très bien si on ne passe pas le qid.

Par contre, je ne comprend pas pourquoi le code suivant ne fonctionne pas:

         <sdx:terms  qidString="myQid" fieldParam="field" valueParam="value"/>

Des idées?

Ce que je vais faire pour le moment,
c'est de faire des test en modifiant la logicsheet pour que l'on passe tous les 
sdx_fields et tous les sdx_values à la méthode setUp de Terms. Je vais voir 
comment ça réagit mais de ce que j'ai vu/compris de la classe Terms, ça ne 
dervait pas changer grand chose.

Je vous tiens au courant :)

Bonne journée

Dave


-----Message d'origine-----
De : address@hidden
[mailto:address@hidden la
part de Pierrick Brihaye
Envoyé : 23 mars, 2005 03:22
À : address@hidden
Objet : Re: [sdx-users] Problème sdx:filter


Salut,

Malo Pichot a écrit :

>>> <sdx:simpleQuery query="type_document:Sonore type_document:Braille" />
>>> String myQueryId = sdx_qid;
>>> <sdx:terms field="sujet" qidString="myQueryId"/>
> 
> Je rectifie ; la syntaxe ici ne devrait pas fonctionner : sdx_qid n'est 
> pas créer avec <sdx:simleQuery>. C'est le boulot de <sdx:results /> ou 
> de toute <sdx:execute*Query />.

Oui. Je m'etonne d'ailleurs d'avoir oublié ce execute.

 > On peut employer :
> 
> <sdx:simpleQuery query="type_document:Sonore type_document:Braille" />
> <sdx:results qid="myQueryId" hpp="0" />

Bien vu. Le hpp="0" fera gagner un peu de performance (20 résultats de 
moins dans le tuyau).

 ><sdx:terms field="sujet" qidString="myQueryId"/>

Gaffe : il manque le String myQueryId = sdx_qid; que l'on peut 
factoriser probablement ainsi :

<sdx:terms field="sujet" qidString="sdx_qid"/>

... mais c'est plus difficile à déboguer.

En ce qui concerne la performance, je partage les scrupules de Martin, 
surtout dans le cas proposé qui effectue préalablement une requête "OR". 
Ca oblige à un produit cartésien assez dispendieux.

Si je ne me trompe pas, on a tout de même une possibilité, pas très 
élégante, de "filtrage" dans <sdx:terms>. Il "suffit" d'utiliser une 
troncature :

<sdx:terms field="sujet" value="a*" />

ou, plus généralement, si j'en crois le code, une expression régulière 
(v. 
http://savannah.nongnu.org/cgi-bin/viewcvs/sdx/sdx_v2/src/java/fr/gouv/culture/sdx/search/lucene/query/Terms.java?annotate=1.73,
 
ligne 208).

Cela permet de restreindre les termes éligibles et, le cas échéant, 
d'organiser un paging :

a-h i-m n-s t-z par exemple...

A+

-- 
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden
+33 (0)2 99 29 67 78


_______________________________________________
sdx-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/sdx-users

AVIS DE CONFIDENTIALITÉ - AVERTISSEMENT RELATIF À LA LOI SUR L'ACCÈS AUX 
DOCUMENTS DES ORGANISMES PUBLICS ET SUR LA PROTECTION DES RESEIGNEMENTS 
PERSONNELS (L.R.Q.,c.A.-2.1): L'information transmise avec ce courrier 
électronique est de nature privilégiée et confidentiellle. Elle est destinée à 
l'usage exclusif de son destinataire. Si vous n'êtes pas le destinataire visé, 
vous êtes par la présente avisé qu'il est strictement interdit d'utiliser cette 
information, de la copier, la distribuer ou la diffuser. Veuillez s'il vous 
plaît contacter l'expéditeur initial du courrier électronique et le détruire de 
votre ordinateur.







reply via email to

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