When making a /searchresults call to ILSA, you can pass the _order parameter to configure the returned order of vehicles. Orderings need to be predefined in the Backoffice.

An ordering defines one or more fields to sort on. For example an ordering “price_desc” might sort price from high to low, and break ties by sorting on _mmt (make model type). If after all your sortings you still have ties, the order is undefined (and might be different from request to request).

You can use _limit to restrict the number of vehicles returned per call. You can use _offset to get the results for the second page. For example to render page 3 of your results, you’d pass an offset of 50 (assuming the default _limit of 25).

You can include _random in your orderings to have the vehicles shuffled randomly.

If you want to paginate through random results, you’ll need to pass the _sort_seed parameter with the same value for each request of the same user. You could pass the _session_id for example. The _sort_seed is used to shuffle all the vehicles the same way.

If you need two disjunct random sets of vehicles, you can use one _sort_seed and pass an _offset to your second request.

The virtual field _score can also be included in your orderings to sort based on relevance. The _score field is only effective when the visitor searches using a KEYWORDS or CURVE field.