[ 
https://issues.apache.org/jira/browse/SOLR-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776133#action_12776133
 ] 

Yonik Seeley commented on SOLR-1553:
------------------------------------

Lucid Imagination is contributing back this query parser currently being used 
at search.lucidimagination.com

The extended dismax parser was based on the original Solr dismax parser.

- Supports full lucene query syntax in the absence of syntax errors
- supports "and"/"or" to mean "AND"/"OR" in lucene syntax mode
- When there are syntax errors, improved smart partial escaping of special 
characters is done to prevent them... in this mode, fielded queries, +/-, and 
phrase queries are still supported.
- Improved proximity boosting via word bigrams... this prevents the problem of 
needing 100% of the words in the document to get any boost, as well as having 
all of the words in a single field.
- advanced stopword handling... stopwords are not required in the mandatory 
part of the query but are still used (if indexed) in the proximity boosting 
part.  If a query consists of all stopwords (e.g. to be or not to be) then all 
will be required.
- Supports the "boost" parameter.. like the dismax bf param, but multiplies the 
function query instead of adding it in
- Supports pure negative nested queries... so a query like +foo (-foo) will 
match all documents

Some examples of queries that currently give dismax fits that now work with 
extended dismax:
  OR
  AND
  NOT 
  -
  "

Example queries:
http://localhost:8983/solr/select?defType=edismax&q=big+blue+house&pf=text&qf=text&debugQuery=true
+(((text:big) (text:blue) (text:hous))~3) ((text:"big blue") (text:"blue hous"))

http://localhost:8983/solr/select?defType=edismax&q=hello&pf=text&qf=text&boost=popularity&debugQuery=true
boost(+(text:hello),int(popularity))

And if the text field were configured with the stopfilter only on the query 
analyzer, then
http://localhost:8983/solr/select?defType=edismax&q=this+is+the+end&pf=text&qf=text&debugQuery=true
+(((text:end))~1) ((text:"this is") (text:"is the") (text:"the end"))

http://localhost:8983/solr/select?defType=edismax&q=how+now+"brown+cow"+popularity:100&pf=text&qf=text&debugQuery=true
+(((text:how) (text:now) (text:"brown cow") popularity:100)~4) (text:"how now")

> extended dismax query parser
> ----------------------------
>
>                 Key: SOLR-1553
>                 URL: https://issues.apache.org/jira/browse/SOLR-1553
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Yonik Seeley
>             Fix For: 1.5
>
>
> An improved user-facing query parser based on dismax

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to