Re-using queries
In most cases, the queries that you build as a part of the application can be reused. It would make more sense to re-use the queries instead of creating them again. The functions provided by the Solarium interface help in modifying the Solarium query for re-use. Let us see an example for re-using queries.
Suppose we form a complex query based on input parameters. For pagination purposes, we would like to use the same query but change the start
and rows
parameters to fetch the next or previous page. Another case where a query could be reused is sorting. Suppose we would like to sort by price in ascending order and later by descending order.
Let us first define and create an alias for Solarium namespaces we will be using in our code.
use Solarium\Client; use Solarium\QueryType\Select\Query\Query as Select;
Next, create a class that extends the Solarium query interface:
Class myQuery extends Select {
Inside the class we will create the
init()
function, which will override the same...