sdx-users
[Top][All Lists]
Advanced

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

RE : [sdx-users] probleme de recherche


From: Martin Sévigny
Subject: RE : [sdx-users] probleme de recherche
Date: Fri, 19 Jul 2002 16:12:39 +0200

Bonjour,

> j'ai modifie en partie l'interface SDX, et propose
> actuellement plusieurs champs sur la page Web a remplir,
> champs qui correspondent aux champs de recherche des documents.
> Je voudrais ensuite recuperer le contenu de ces champs (qui
> peut etre vide) afin d'en faire une seule requete...
> J'ai d'abord voulu construire avec Java un string pour
> concatener tous les champs et passer ce string dans une simpleQuery.

Ca se fait, mais seulement en API Java, pas en API XSP. Pour infos : en
SDX 2 ça se fait aussi en API XSP.

> <sdx:logic>
>     String userAuthor = request.getParameter("fAuthor");
>     String userTitle = request.getParameter("fTitle");
>     String searchAuthor = "author:" + userAuthor ;
>     String searchTitle = "title:" + userTitle ;
>     String request = searchAuthor+" + " + searchTitle+" ;
> </sdx:logic>
> <sdx:executeSimpleQuery queryParam="request" qidParam="n" pParam="p"/>

Ici, vous indiquez à SDX que la requête de recherche est dans le
paramètre HTTP nommé "request". Ca m'étonnerait un peu...

Vous voulez en fait quelque chose comme :

SDXQuery q = new SDXSimpleQuery(sdxDBInfo, request);
SDXResults r = q.execute();
r.toDOM(document, 1);

Mais je ne pense pas que ça répond à votre besoin.

> Ensuite, j'ai essaye d'utiliser les fieldQuery, mais en en
> faisant plusieurs a la suite.
> Puis, j'ai cherche du cote des baseQuery et des parametre
> bquery, etc...
> La encore ca n'a rien donne.
>
>   <sdx:executeFieldQuery qid="1" fieldParam="fAuthor"
>      valueParam="author" bqParam="0" boParam="AND"/>
>   <sdx:executeFieldQuery qid="2" fieldParam="fTitle"
>      valueParam="title"
>  bqParam="0" boParam="AND"/>
>   <sdx:executeSimpleQuery baseQuery="0" qidParam="n"pParam="p"/>
>
> est ce au moins la bonne maniere d'aborder le probleme? un
> probleme de syntaxe? comment ecrire proprement une requete
> sdx prenant plusieurs champs de saisie en parametre ?

C'est impossible en SDX 1 d'avoir plus qu'un <sdx:*Query/> dans la même
XSP. Ce n'est pas très clair ce que vous essayez de faire, mais la
réponse est peut-être dans <sdx:executeLinearQuery/>? Si vous voulez
faire quelque chose comme "critère A dans le champ a" ET "critère B dans
le champ b" ET "critère C dans le champ c" et ainsi de suite, c'est une
LinearQuery.

Sinon, l'API Java (mais non XSP ni URL) permet une requête complexe :
c'est la classe SDXComplexQuery qui s'en charge.

Les concepts derrière la recherche en SDX sont expliqués ici :
http://sdx.culture.fr/sdx/sdxdoc/voir.xsp?id=c_type_recherches

A bientôt,

Martin Sévigny




reply via email to

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