Executing queries using DisMax and eDisMax
Let us explore how to execute DisMax and eDisMax queries using the Solarium library. First, get a DisMax component from our select query using the following code:
$dismax = $query->getDisMax();
Boosting is used in Solr to alter the score of some documents in a resultset, so that certain documents are ranked higher than others based on their content. A boost query is a raw query string that is inserted along with the user's query to boost certain documents in the result. We can set a boost on author = martin
. This query will boost results where author contains martin
by 2
.
$dismax->setBoostQuery('author:martin^2');
Query fields specify the fields to query with certain boosts. The query string passed in setQuery
function is matched against text in these fields. When a field is boosted, a match for a query text in that field is given more importance and so that document is ranked higher. In the following function, matches in the author field are...