Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between dismax and EdisMax?

Tags:

I like to know what is the difference between DisMax and EDisMax..? Is there any useful reference to know about that.? Also, I would like to know what are the queries DisMax failed to produce the result for which EDisMax is able to produce the result..?

EDisMax has some Query parameter like boost Parameter,ps Parameter,The pf2 Parameter; But apart from this query parameter, how EDisMax better than DisMax; how queries are processed between these two.What factors make EDisMax do better than DisMax..

Some queries failed to give result in DisMax but EDisMax gives result for those queries.

I googled the difference between DisMax and EDisMax. I have found, the parameters have been used in EDisMax is only the difference between DisMax and EDisMax; but I am expecting something technically to explain to others in presentation.

http://ip:8983/solr/C73/select/?defType=edismax&q=ipod OR video&fl=filename, score&hl=true&hl.fl=content contentenstem filename&hl.zetaContentField=content

for above query EDisMax produces about 238 results; but DisMax produces 0 result. So what is the difference between handling this query by this two parser;What makes EDisMax to produce result.Thats what I like to know ....

like image 217
gangatharan Avatar asked Nov 28 '12 09:11

gangatharan


People also ask

What is DisMax and Edismax in SOLR?

Dismax and Edismax can run queries against all query fields, and also run a query in the form of a phrase against the phrase fields. ( This will work only for boosting documents, not actually for matching.)

What is DisMax in SOLR?

The DisMax query parser is designed to process simple phrases (without complex syntax) entered by users and to search for individual terms across several fields using different weighting (boosts) based on the significance of each field.

What is DF in Solr query?

The df stands for default field , while the qf stands for query fields . The field defined by the df parameter is used when no fields are mentioned in the query. For example if you are running a query like q=solr and you have df=title the query itself will actually be title:solr .

What is boosting in SOLR?

The process of giving higher relevance to a set of documents over others is called boosting, Solr support at least four ways of changing the boost factors of the documents: By boosting terms q=black^2.0 .


2 Answers

As Dismax had a lot of limitations, EDismax query parser was added.

Check out SOLR-1553

To start with (as in Documentation) :-

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

However, as you would a lot of associated JIRA's to improve the query parsing capability and support for more features.

Reading through the JIRA's can be really insightful :)

like image 54
Jayendra Avatar answered Dec 01 '22 17:12

Jayendra


In general EDisMax is an extended version of the DisMax. You can find good description and differences of both parser in the following links.

  1. DisMax Query Parser
  2. Extended DisMax Query Parser
like image 44
Parvin Gasimzade Avatar answered Dec 01 '22 16:12

Parvin Gasimzade