sdx-users
[Top][All Lists]
Advanced

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

RE : [sdx-users] Historique des recherches (qid)


From: Martin Sevigny
Subject: RE : [sdx-users] Historique des recherches (qid)
Date: Wed, 11 Feb 2004 11:08:55 +0100

Bonjour,

> Pour une même session, je voudrais savoir s'il existe un 
> moyen simple de
> retrouver la liste des recherches déjà effectuées, 
> c'est-à-dire avoir un
> historique.
> Si j'ai bien compris comment fonctionne SDX, à chaque recherche, SDX
> retourne une liste de résultats présentées sous la balise 
> <sdx:results>.
> Cette balise contient un attribut "qid" qui est l'identifiant 
> de la requête.
> Durant la session, on peut retrouver cette même liste de résultats en
> passant à la page de recherche le paramètre qid.
> Comment afficher sur une même page une liste de tous les qid 
> déjà effectués
> ?

Les 5 derniers qid sont stockés en session, dans un objet dont j'oublie
le nom. Mais si vous mettez ceci dans une page XSP:

<sdx:page show="get session user">
 ...
</sdx:page>

Vous devriez avoir dans le XML généré tous les paramètres de session...
Par exemple:

<sdx:parameters>
    <sdx:parameter type="get" name="base" value="fa-tmp"
escapedValue="fa-tmp"/>
    <sdx:parameter type="get" name="base" value="fa" escapedValue="fa"/>
    <sdx:parameter type="get" name="q" value="test"
escapedValue="test"/>
    <sdx:parameter type="session" name="sdx_q2"
value="address@hidden"/>
    <sdx:parameter type="session" name="sdx_qi" value="2"/>
    <sdx:parameter type="session" name="sdx_q1"
value="address@hidden"/>
    <sdx:parameter type="session" name="sdx_user"
value="address@hidden"/>
    <sdx:parameter type="session" name="sdx_q0"
value="address@hidden"/>
</sdx:parameters>

Dans cet exemple, l'objet de session sdx_q0 contient la première
requête, sdx_q1 la seconde, etc.

Dans ces objets de session, vous avez des objets Results. Vous pouvez
faire, en XSP, quelque chose comme:

<ancienne-requete>
  <xsp:logic>
    fr.gouv.culture.sdx.search.lucene.query.Results res =
(fr.gouv.culture.sdx.search.lucene.query.Results)session.get("sdx_q0");
    res.getQuery().toSAX(contentHandler);
  </xsp:logic>
</ancienne-requete>

Vous aurez un élément ancienne-requete qui va contenir le XML de la
requête "0" dans l'historique.

Tout ceci n'est pas testé, mais le principe est là...

A bientôt,

Martin Sévigny





reply via email to

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