In Solr, Whats the best approach to order results by random?, basically needs to pick some records at random.
In latest Solr, nothing need to do with schema. Just add below sorting and it will give random result set.
...
...
//Below is to get rendom string
$randString = mt_rand();
$query->addSort('random_'.$randString, $query::SORT_DESC);
...
...
Use a RandomSortField. There's an example in the bundled schema.xml in example directory (under solr
):
<dynamicField name="random_*" type="random" />
Sort your result list by the field random_<seed>
, where you replace <seed>
with a randomly generated value (but use the same value if you're paginating through the result, as it will give you a stable sort based on the field name).