Hi,

In DisMax the "mm" parameter controls whether terms are required or optional. 
The default is 100% which means all terms required, i.e. you do not need to add 
"+". You can change to mm=0 and you will get the same behaviour as standard 
parser, i.e. an "OR" behaviour, where the "+" would say that a term is required.

Using the "-" in DisMax still means prohibited.

The best way to be sure of what is really going on is to enable 
&debugQuery=true and inspect what your query is parsed to.

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

On 29. juni 2010, at 09.41, Lukas Kahwe Smith wrote:

> Hi,
> 
> I am a bit confused about the +/- syntax. Am I understanding it properly that 
> when using the normal query handler + means required and - means prohibit 
> where as in the dismax handler + means required and - means optional?
> 
> http://lucene.apache.org/java/2_9_1/queryparsersyntax.html
> The "+" or required operator requires that the term after the "+" symbol 
> exist somewhere in a the field of a single document.
> The "-" or prohibit operator excludes documents that contain the term after 
> the "-" symbol.
> 
> http://wiki.apache.org/solr/DisMaxRequestHandler
> Quotes can be used to group phrases, and +/- can be used to denote mandatory 
> and optional clauses ... but all other Lucene query parser special characters 
> are escaped to simplify the user experience.
> 
> regards,
> Lukas Kahwe Smith
> m...@pooteeweet.org
> 
> 
> 

Reply via email to