If you add debugQuery=true to your search you will see how it is parsed:

1. <str name="parsedquery_toString">+(text:medical)</str>
2. <str name="parsedquery_toString">+(((text:medical) (text:retired))~2)</str>
3. <str name="parsedquery_toString">+((text:medical) (text:retired) 
-(text:working))</str>
4. <str name="parsedquery_toString">+(+(text:medical) +(text:retired) 
-(text:working))</str>

I think you're seeing an effect of 
https://issues.apache.org/jira/browse/SOLR-2649 here.

Compare the results of 3) with the result when you put -working as a filter 
instead:
<str name="parsedquery_toString">+(((text:medical) (text:retired))~2)</str>
<arr name="filter_queries"><str>-working</str></arr>

--
Jan Høydahl, search solution architect
Cominvent AS - www.cominvent.com
Solr Training - www.solrtraining.com

26. feb. 2013 kl. 18:17 skrev z...@navigo.com:

> We want to treat all optional parameters as required. I thought setting:
> q.op=AND and mm=100% (using edismax request handler) would achieve this
> result, but I get unexpected results
> 
> 1) medical => 4,425 
> 2) medical retired => 272 
> 3) medical retired -working => 5,041
> 4) medical AND retired AND -working => 216
> 
> We expect the 3rd and 4th queries to be equivalent, but we're obviously
> missing something.
> 
> It doesn't seem to be an issue with the number of terms, since:
> 
> medical retired husband => 52
> 
> Regards,
> Z
> 
> 
> 
> --
> View this message in context: 
> http://lucene.472066.n3.nabble.com/Unexpected-Results-tp4043107.html
> Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to