[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Booléen par défaut?
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-users] Booléen par défaut? |
Date: |
Sat, 18 Jan 2003 09:08:54 +0100 |
Re,
> Comment modifier l'opérateur par défaut qui relie les termes
> d'une recherche entre eux, qui est apparemment "OR", et que
> je voudrais passer en "AND" sans demander aux utilisateurs
> de préfixer tous leurs mots de recherche par un "+"?
Oula ! Difficile de répondre à cette question... Voici la réponse :
Une SimpleQuery (j'imagine que vous parlez de ça) utilise donc le
QueryParser de Lucene. J'ai vu passer, il y a quelques mois, une demande de
modification du QueryParser qui, jusqu'à maintenant, travaillait en
effectivement *toujours* en OR. C'est dans le code :
http://www.nongnu.org/sdx/docs/html/doc-sdx2/apidocs/fr/gouv/culture/sdx/sea
rch/lucene/queryparser/QueryParser.html#setOperator(int)
SDX a intégré ce changement (v. en particulier l'interface QueryParser.java
qui propose un très sympathique setOperator) mais je me demandais s'il était
disponible dans le reste du code.
Réponse : oui, la classe SimpleQuery dispose d'un setUp capable de
positionner l'opérateur par défaut du QueryParser.
Restait à voir si ce setUp (il y en a 3) était utilisé par la logicsheet.
Réponse : oui, avec un argument sdx_op.
Comment est constitué ce sdx_op ? avec un paramètre "sdx:op". Voilà :-)
Ceci dit, il serait pas mal, dans application.xsconf de pouvoir positionner
cet opérateur :
<sdx:queryParser
class="fr.gouv.culture.sdx.search.lucene.queryparser.DefaultQueryParser"
defaultOperator="OR" />
> Je voudrais aussi permettre aux utilisateurs de choisir l'ordre
> de tri (par champ et pour chacun ascendant/descendant) et je
> n'arrive pas à trouver l'info qui décrit comment faire?
C'est vrai que la doc est muette sur ce point. Voici un exemple tiré de SDX
1 :
<sdx:executeExactFieldQuery fieldParam="index" valueParam="query"
sfParams="tri"/>
avec "tri" constitué ainsi dans un form :
<input type="hidden" name="tri" value="region"/>
<input type="hidden" name="tri" value="dpt"/>
<input type="hidden" name="tri" value="com"/>
<input type="hidden" name="tri" value="adrs"/>
<input type="hidden" name="tri" value="lieu"/>
<input type="hidden" name="tri" value="edif"/>
<input type="hidden" name="tri" value="tico"/>
On peut faire plus simple et intégrer des éléments dans l'élement de query,
des éléments de tri (à la xsl) :
<sdx:sort field="xxx" order="yyy" />
Mais attention : sous SDX1, on ne pouvait trier que sur les champs de type
"brief" ! Je pense que sous SDX2, c'est la même chose car c'est étroitement
lié à la logique Lucene... qui a fait récemment pas mal de progrès dans ce
domaine.
A bientôt,
p.b.
- [sdx-users] Booléen par défaut?, Emmanuel Bégué, 2003/01/17
- Re: [sdx-users] Booléen par défaut?,
Pierrick Brihaye <=
- RE: [sdx-users] Booléen par défaut?, Emmanuel Bégué, 2003/01/18
- Re: [sdx-users] Booléen par défaut?, Pierrick Brihaye, 2003/01/18
- RE: [sdx-users] Booléen par défaut?, Emmanuel Bégué, 2003/01/18
- [sdx-users] RE : Booléen par défaut?, Martin Sevigny, 2003/01/19
- RE: [sdx-users] RE : Booléen par défaut?, Emmanuel Bégué, 2003/01/19
- Re: [sdx-users] RE : Booléen par défaut?, Pierrick Brihaye, 2003/01/19
- RE: [sdx-users] RE : Booléen par défaut?, Emmanuel Bégué, 2003/01/19
- Re: [sdx-users] RE : Booléen par défaut?, Pierrick Brihaye, 2003/01/19
- RE: [sdx-users] RE : Booléen par défaut?, Emmanuel Bégué, 2003/01/19
- Re: [sdx-users] RE : Booléen par défaut?, Pierrick Brihaye, 2003/01/19