Dear Wiki user, You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.
The "DisMaxQParserPlugin" page has been changed by ErickErickson: http://wiki.apache.org/solr/DisMaxQParserPlugin?action=diff&rev1=9&rev2=10 Comment: added range queries to unsupported syntax This query parser supports an extremely simplified subset of the Lucene !QueryParser syntax. 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. The handler takes responsibility for building a good query from the user's input using !BooleanQueries containing !DisjunctionMaxQueries across fields and boosts you specify. It also lets you provide additional boosting queries, boosting functions, and filtering queries to artificially affect the outcome of all searches. These options can all be specified as default parameters for the handler in your solrconfig.xml or overridden in the Solr query URL. == Query Syntax == - This is designed to be support raw input strings provided by users with no special escaping. '+' and '-' characters are treated as "mandatory" and "prohibited" modifiers for the subsequent terms. Text wrapped in balanced quote characters '"' are treated as phrases, any query containing an odd number of quote characters is evaluated as if there were no quote characters at all. Wildcards are not supported. + This is designed to be support raw input strings provided by users with no special escaping. '+' and '-' characters are treated as "mandatory" and "prohibited" modifiers for the subsequent terms. Text wrapped in balanced quote characters '"' are treated as phrases, any query containing an odd number of quote characters is evaluated as if there were no quote characters at all. + + Examples of unsupported syntax: + * Wildcards + * Ranges + == Query Structure == For each "word" in the query string, dismax builds a !DisjunctionMaxQuery object for that word across all of the fields in the `qf` param (with the appropriate boost values and a tiebreaker value set from the `tie` param). These !DisjunctionMaxQuery objects are then put in a !BooleanQuery with the minNumberShouldMatch option set according to the `mm` param. If any other params are specified, a larger !BooleanQuery is wrapped arround the first !BooleanQuery from the `qf` options, and the other params (`bf`, `bq`, `pf`) are added as optional clauses. The only complex clause comes from from the `pf` param, which is a single !DisjuntionMaxQuery containing the whole query 'phrase' against each of the `pf` fields.