sdx-users
[Top][All Lists]
Advanced

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

[sdx-users] Pb avec une complexQuery


From: Pierre Dittgen
Subject: [sdx-users] Pb avec une complexQuery
Date: Thu, 04 Sep 2003 15:01:24 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.4) Gecko/20030624

Bonjour,

Mon application SDX propose un formulaire HTML de recherche avec des champs texte (appelons les t1, t2, t3) et des combo-box de choix de valeurs (c4, c5). Pour chaque combo box, j'ai 2 boutons radio (r4 et r5) qui me permettent de choisir l'opérateur booléen (or ou and) qui lie les valeurs (s'il y en a plusieurs) des combos. J'ai en plus 1 bouton radio (rf) au niveau de formulaire pour préciser le choix de l'opérateur qui lie les différents critères de recherche des champs.

Dans la XSP qui traite le formulaire et affiche des résultats, j'ai

<sdx:executeComplexQuery complexOpParam="rf">
    <sdx:simpleQuery field="field1" queryParam="t1"/>
    <sdx:simpleQuery field="field2" queryParam="t2"/>
    <sdx:simpleQuery field="field3" queryParam="t3"/>
    <sdx:linearQuery field="field4" valueParam="c4" opParam="r4"/>
    <sdx:linearQuery field="field5" valueParam="c5" opParam="r5"/>
</sdx:executeComplexQuery>


Dans mon exemple, je tape "ramasseum" dans t1 et "scene" dans t2. Je laisse les autres champs vides et tous les operateurs à "or".

Mon premier souci est la tête de la requête générée (vue grâce au "2src" à la fin de la XSP résultats) :

<sdx:query type="complex" engine="lucene" luceneQuery="(+t1:ramasseum +t2:scene)" escapedLuceneQuery="%28%2Bt1%3Aramasseum+%2Bt2%3Ascene%29" operator="or"> <sdx:query type="complex" engine="lucene" luceneQuery="+t1:ramasseum +t2:scene" escapedLuceneQuery="%2Bt1%3Aramasseum+%2Bt2%3Ascene" operator="and"> <sdx:query type="simple" engine="lucene" luceneQuery="t1:ramasseum" escapedLuceneQuery="t1%3Aramasseum" text="ramasseum" escapedText="ramasseum" op="or"/> <sdx:query type="simple" engine="lucene" luceneQuery="w-text:scene" escapedLuceneQuery="t2%3Ascene" text="scene" escapedText="scene" op="or"/>
    </sdx:query>
</sdx:query>

Pourquoi 2 requêtes complexes imbriquées ? Que vient faire le "and" dans la deuxième requête complexe ?

Mon deuxième souci (ou le premier en fait...) est que mon exemple ne fonctionne pas. L'opérateur qui relie les champs t1 et t2 est un "and" et non un "or" comme demandé.

Suis-je passé complètement à côté du fonctionnement de l'attribut complexop ?

Pierre
--
Pierre Dittgen, PASS Technologie
address@hidden





reply via email to

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