sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] Requête depuis un résul tat de requête


From: Malo Pichot
Subject: Re: [sdx-users] Requête depuis un résul tat de requête
Date: Tue, 26 Jun 2007 12:08:39 +0200
User-agent: Thunderbird 2.0.0.4 (X11/20070604)

OK. Je n'ai pas tout compris, mais je me permet quelques remarques ici :

- Quand on voit une requête du type champ:*, il faut savoir que c'est très couteux côté application. Le mieux est de chercher une solution au niveau de l'indexation. Dans votre requête "+titre:* -lien:* -parent:*", on comprends que vous voulez les documents qui on un titre mais pas de lien ni de parent. Vous n'avez pas le moyen de créer un champ booléen qui fait le travail ?

- Pourquoi avez-vous besoin d'une requête complexe quand vous faites :
<sdx:complexQuery base="notices" qidParam="qid">
  <sdx:simpleQuery queryString="queryRoot"/>
</sdx:complexQuery>

CWIKLINSKI Johan - CETE NP/DIODé/PANDOC a écrit :
Merci de votre réponse rapide :)

Toutefois, mon problème ne se situe pas là (je me suis mal exprimé). La valeur provient 
d'une requête dans la même page xsp qui me retourne plusieurs résultats (mes 
"catégories").
Pour chacun des résultats, il faudra que je lance une nouvelle requête.

Dans la structure des notices, il existe plusieurs niveaux de catégories, comme 
une arborescence ; je cherche à récupérer uniquement les deux premiers niveaux, 
et pas les niveaux suivants.
Les catégories parentes sont celles dont le champ "parent" n'est pas renseigné, ce que j'ai appelé 
"enfants directs" sont les seules catégories dont le champ "parent" correspond à une 
catégorie parente.

Actuellement, j'utilise le code suivant, qui semble correspondre à mon besoin (je suis en train de tester), cela devrait être plus explicite :
Pour récupérer les catégories parentes :

String queryRoot = "+titre:* -lien:* -parent:*";
<sdx:complexQuery base="notices" qidParam="qid">
        <sdx:simpleQuery queryString="queryRoot"/>
</sdx:complexQuery>

<sdx:results/>
String queryChild = "";
String[] parents = sdx_results.getDocIds();
<sdx:show/>

J'ai donc les identifiants des catégories parentes, je cherche ensuite les "enfants 
directs" comme suit :

for(int i = 0 ; i &lt; parents.length ; i++ ){
        queryChild = "+titre:* -lien:* +parentid:"+parents[i];
        <sdx:complexQuery base="notices" qidParam="qid">
                <sdx:simpleQuery base="notices" queryString="queryChild"/>
        </sdx:complexQuery>
}

Mes tests ne sont pas encore finis, mais il semble que les résultats soient 
ceux que j'attendais.

Merci,
Johan Cwiklinski - Pandoc

-----Message d'origine-----
De : address@hidden
[mailto:address@hidden
]De la part de Malo Pichot
Envoyé : mardi 26 juin 2007 10:44
À : address@hidden
Objet : Re: [sdx-users] Requête depuis un résultat de requête


Bonjour,

Je ne sais pas si je comprends bien le problème. Qu'est-ce que "enfants directs" ? D'ici, je pense que vous cherchez à faire un sdx:terms : http://www.nongnu.org/sdx/docs/html/doc-sdx2/fr/reference/actions/recherche/index.html#sdx_terms

Si vous souhaitez avez "categorie_1"
<sdx:terms field="categorie" value="categorie_1" />
renverra tous les identifiants des documents appartenant à cette catégorie.
Pour une XSP terms.xsp contenant <sdx:terms />. Une URL http://[...]/terms.xsp?field=categorie&value=categorie_1 renverra ce même résultat. Vous pouvez testez ça directement avec l'API-URL de SDX : http://[...]/sdx/api-url/terms?appbypath={monAppli}&field=categorie&value=categorie_1

CWIKLINSKI Johan - CETE NP/DIODé/PANDOC a écrit :
Bonjour,

Voilà mon problème :
J'ai une requête qui me renvoie des "catégories".
Je cherche à interroger la base afin de récupérer, pour chaque catégorie, les 
enfants directs.
Est-il possible de faire cela avec les tags, ou faut-il utiliser l'API ?

Je ne vois pas quelles méthodes utiliser dans ce cas, toute piste serait la 
bienvenue.

D'avance merci, Johan Cwiklinski - Pandoc


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




--
Malo




reply via email to

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