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 > > >