Je cherche à faire une requête avec l'opérateur Not mais mes résultats ne sont pas bon, a priori la requête est mal retranscrite pour solr. search = Search.query(); search.eq(AgentSkill.FQ_FIELD_AGENTSKILL_AGENT, agentId); Search searchNot = search.not(); searchNot.contains(WikittyAuthorisation.FIELD_WIKITTYAUTHORISATION_READER, privateGroup.getWikittyId()); A priori ça me donne un criteria qui colle : <?xml version="1.0" encoding="UTF-8"?> <java version="1.6.0_22" class="java.beans.XMLDecoder"> <object class="org.nuiton.wikitty.search.Criteria"> <void property="restriction"> <object class="org.nuiton.wikitty.search.operators.And"> <void property="name"> <object class="org.nuiton.wikitty.search.operators.RestrictionName" method="valueOf"> <string>AND</string> </object> </void> <void property="restrictions"> <object class="java.util.ArrayList"> <void method="add"> <object class="org.nuiton.wikitty.search.operators.Equals"> <void property="element"> <object class="org.nuiton.wikitty.search.operators.Element"> <void property="name"> <string>AgentSkill.agent</string> </void> </object> </void> <void property="name"> <object class="org.nuiton.wikitty.search.operators.RestrictionName" method="valueOf"> <string>EQUALS</string> </object> </void> <void property="value"> <string>d2f9ff2f-a69c-4735-8148-e6949bac487a</string> </void> </object> </void> <void method="add"> <object class="org.nuiton.wikitty.search.operators.Not"> <void property="name"> <object class="org.nuiton.wikitty.search.operators.RestrictionName" method="valueOf"> <string>NOT</string> </object> </void> <void property="restriction"> <object class="org.nuiton.wikitty.search.operators.Contains"> <void property="element"> <object class="org.nuiton.wikitty.search.operators.Element"> <void property="name"> <string>reader</string> </void> </object> </void> <void property="name"> <object class="org.nuiton.wikitty.search.operators.RestrictionName" method="valueOf"> <string>CONTAINS</string> </object> </void> <void property="value"> <object class="java.util.LinkedList"> <void method="add"> <string>81fba23e-bb2d-4ed0-b31f-a88b0e3968a1</string> </void> </object> </void> </object> </void> </object> </void> </object> </void> </object> </void> </object> </java> par contre, la requête solR semble à l'ouest : 2011-01-25 17:13:59,794 [main] DEBUG org.nuiton.wikitty.storage.solr.WikittyQueryParser$SolrQParser - Query parse : ( ( AgentSkill.agent_w:d2f9ff2f\-a69c\-4735\-8148\-e6949bac487a AND ( *:* - ( *:* - *:* ) ) ) AND #extensions:AgentSkill ) la partie Not de la requête semble être retranscrite comme ceci : ( *:* - ( *:* - *:* ) ) :( Quelqu'un à une idée de ce que j'aurais pu mal faire ? Serait-ce un bug dans Wikitty ?