The lucene
query parser we've been using so far for searching offers a rich syntax, but it doesn't do anything more. A notable problem with using this parser is that the query must be well formed according to the aforementioned syntax rules, such as having balanced quotes and parentheses. Users might type just about anything for a query, not knowing anything about this syntax, possibly resulting in an error or unexpected results. The DisMax query parser, named after Lucene's DisjunctionMaxQuery
, addresses this problem and adds many features to enhance search relevancy (good scoring). The features of this query parser that have a more direct relationship to scoring are described in the The DisMax query parser – part 2 section in the next chapter. Use of this parser is so important that we need to introduce it here.
You'll see references here to eDisMax, whereby the e stands for extended. This is a forked evolution of DisMax that adds features. It hasn't yet...