[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [sdx-users] Opérateur SAUF entre 2 champs de recherche : SimpleQuer
From: |
Frederic . Evesque |
Subject: |
RE: [sdx-users] Opérateur SAUF entre 2 champs de recherche : SimpleQuery contre ComplexQuery |
Date: |
Thu, 8 Apr 2004 14:05:59 +0200 |
Bonjour,
Au vu des réponses formulées, j'en conclue que cela n'est pas (encore)
possible avec une ComplexQuery.
Je me pose alors la question : dans les cas particuliers de "recherche
avancée", faut-il utiliser l'API SDX ComplexQuery ou faut-il utilser une
SimpleQuery en se fabriquant soit même sa requête Lucene ?
En effet, en interceptant les paramètres et en rajoutant du code Java, on
peut générer dans mon cas une variable String q="+titre:ville
-auteur:michel" qui contient la syntaxe de recherche souhaitée.
A priori, avec une SimpleQuery avec pour seul paramètre q, on peut tout
exprimer, sauf... si on veut utiliser les fonctionnalités de thesaurus, où
il est nécessaire d'avoir une ExpandQuery ?
Et on retombe sur le problème des ComplexQuery qui ne fonctionnent pas
toujours.
Comment peut-on faire alors ?
Des idées ?
Frédéric
>Ma réponse sera une... non-réponse car je n'ai jamais
> réellement compris la
> >complexQuery :-)
> >
> >En tout état de cause, il y a tout intérêt à voir l'attribut
> luceneQuery
> >pour voir comment la complexQuery SDX a été mappée en une
> Query Lucene.
> -----Message d'origine-----
> De : address@hidden
> [mailto:address@hidden
> Envoyé : mer. 7 avril 2004 18:26
> À : address@hidden
> Objet : [sdx-users] Opérateur SAUF entre 2 champs de recherche
>
>
> Bonjour,
>
> Je voudrais savoir si le paramètre "complexop" que l'on peut
> mettre au sein
> d'une "ComplexQuery" peut prendre la valeur "not", pour SAUF, car
> apparemment cela ne fonctionne pas.
>
> En effet, j'ai fait un formulaire de recherche multichamps
> (titre, auteur,
> etc) avec des opérateurs "et", "ou", "sauf" entre ces champs.
> Dans la page de recherche, j'ai notamment défini les champs
> titre, auteur,
> ainsi que l'opérateur "operateur_titreauteur" qui peut
> prendre trois valeurs
> : "and", "or" et "not".
> Dans la page de résultats, le code SDX correspondant est le suivant :
>
> <sdx:executeComplexQuery base="notices">
> <sdx:simpleQuery field="titre" queryParam="titre"/>
> <sdx:simpleQuery field="auteur" queryParam="auteur"
> complexopParam="operateur_titreauteur"/>
> ...
> </sdx:executeComplexQuery>
>
> Cela fonctionne quand on veut faire des recherches du type
> "titre:ville or
> auteur:michel" et du type: "titre:ville and auteur:michel".
> Le nombre de
> résultats est bien différent.
> Par contre, avec la recherche "titre:ville not
> auteur:michel", il renvoie le
> même résultat qu'avec un ET, qui doit être l'opérateur
> booléan par défaut.
>
> Ai-je manqué quelque chose ?
> Comment faut-il s'y prendre sinon ?
>
> Cordialement,
>
> Frédéric Evesque
>
>
>
> _______________________________________________
> sdx-users mailing list
> address@hidden
> http://mail.nongnu.org/mailman/listinfo/sdx-users
>
- RE: [sdx-users] Opérateur SAUF entre 2 champs de recherche : SimpleQuery contre ComplexQuery,
Frederic . Evesque <=