cancel
Showing results for 
Search instead for 
Did you mean: 

Recherche AND et + par Lucene

herve
Champ in-the-making
Champ in-the-making
Bonjour à tous

Je suis en train de développer un petit formulaire de recherche sur 4 zones avec la possibilité à chaque fois de choisir l'opérateur booléen (AND ou OR) et je viens de m'apercevoir que dans la classe SearchContext, l'opérateur AND était géré comme un +
Or dans lucene, l'opérateur '+' signifie "requis".

Y-a-t-il une raison particulière à cela ?

Hervé
2 REPLIES 2

pdubois
Champ on-the-rise
Champ on-the-rise
Bonjour,

oui requis donc "and".

herve
Champ in-the-making
Champ in-the-making
Bonjour

Cette réponse ne me semble pas être bonne
Le terme "requis" s'applique à un terme de la requête alors que le booléen "AND" sur une expression composée d'au moins deux termes.
D'ailleurs, lucene est très clair là dessus…
http://lucene.apache.org/java/docs/queryparsersyntax.html#Boolean%20operators

Effectivement, , si je veux chercher les documents qui sont composés du terme "tomcat" et "heartbeat", je peux faire (+tomcat +heartbeat)
Mais si je veux chercher les documents qui comportent tomcat ou heartbeat mais que le terme heartbeat est obligatoire, je mets (tomcat +heartbeat)
Et ça n'a rien à voir avec un ET…

Je ne sais pas s'il y a une astuce actuellement dans Alfresco, mais j'ai dû refaire le bean SearchContext pour différencier le + et le AND.
Dès que je l'aurai un peu plus testé, je le posterai.

Hervé
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.