sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] [sdx_user] Historique des recherches et sdx_qmax


From: DAVIGNON Andre - CETE NP/DIODé/PANDOC
Subject: Re: [sdx-users] [sdx_user] Historique des recherches et sdx_qmax
Date: Fri, 24 Apr 2009 09:53:58 +0200

Bonjour,

C'est vrai que j'aurais pu être plus clair...

Il s'agit soit de récupérer la requête Lucene, auquel cas elle est dans la logicsheet, soit de récupérer la requête au sens Cocoon, et donc, comme tu le signales, de stocker l'ensemble des paramètres d'URL dans une String. Cela permet exactement de reconstruire la requête :-) .

Donc par requête, j'entends quelque chose d'assez large, que l'on obtiendra par exemple avec request.getQueryString() et que l'on peut ensuite traiter. Récupération des paramètres avec request.getQueryString() pour les GET, et pour les POST avec Enumeration enumRequest = (Enumeration)request.getParameterNames().

Au passage, bien vu pour ton "petit test sur l'existence du résultat dans la session" qui "permet de soulager le serveur (on ne rejoue pas la requête)" :-) !

André


Le 24/04/2009 09:28, > Malo Pichot (par Internet, dépôt address@hidden) a écrit :
Bonjour,

Quelque chose m'échappe André : de quelle "requête" parles-tu ? La
logicsheet prend déjà en compte la requête Lucene, sa représentation
textuelle exactement, via :

 m_query.getLuceneQuery().toString()

Et effectivement, tu as tout à fait raison, cette manière est beaucoup
plus robuste. En fait, je vais le plus souvent jusqu'à stocker les
paramètres d'URL qui permettent de rejouer la requête :o)

D'un autre côté, un petit test sur l'existence du résultat dans la
session permet de soulager le serveur (on ne rejoue pas la requête) sans
porter préjudice à l'utilisateur dans le cas d'une base de documents qui
ne bouge pas ou très peu.

Je veux finir en parlant de l'ajout d'informations qui seront stockées
dans l'historique de requête. Le mécanisme est très simple comme tu le
montres (via les <sdx:parameter>). Attention quand même, ces
informations ne seront pas prises en compte au moment du calcul
d'identité de la requête sauvegardée : seul la représentation textuelle
de la requête est utilisée.

A bientôt,

Malo



DAVIGNON Andre - CETE NP/DIODé/PANDOC a écrit :
Bonjour,

A mon avis, il n'est pas obligatoire d'utiliser les numéros de requête.
Si on le repousse à 10, le problème se reposera à 10 :-) .

Ceci pourrait faire l'affaire :

<!- On met la requête dans une variable -->
String query = ....

<sdx:addToHistoric limit="10">
    <sdx:parameter name="lucene" valueString="query" />
</sdx:addToHistoric>

Puis utiliser ça, la xsl matche sur sdx:search dont on prend l'attribut
"lucene" qui contient la requête que l'on a affectée à la variable
"query" (voir sdx-actions dans la logicsheet)

André



Le 23/04/2009 12:23, > vincent Leconte (par Internet, dépôt
address@hidden) a écrit  :
Bonjour,

Nous avons mis en place un historique des recherches grâce aux
commandes sdx:addToHistoric et sdx:ShowHistoric.
Un problème survient quand le nombre de recherche effectué dépasse le
nombre maximum de requêtes en mémoire par user (fixé à 5 en dur dans
sdx.xsl ).
Les requêtes antérieures aux 5 dernières sont toujours présentes dans
l'historique mais leur qid ne correspond plus à rien en mémoire.
J'ai réussi à ne plus les afficher grâce au paramètre show=session et
un test xsl sur leur présence mais je n'arrive pas à augmenter la
constante sdx_qmax.
J'ai pourtant modifié la valeur en question dans le fichier sdx.xsl
que j'ai recopié dans WEB-INF\classes\fr\gouv\culture\sdx\logicsheet
mais rien n'y fait, le nombre de recherche en mémoire session reste
toujours bloqué à 5.
Ne serait-il pas plus cohérent de mettre cette variable en paramétrage
dans cocoon.xconf voir même dans application.xconf ?

Merci d'avance pour vos réponses,

Vincent



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






reply via email to

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