我们需要在字段中添加随机数并对其进行排序。
例如;我们的排名在每个文档中都是整数。我们需要在1-10之间添加一些随机数以对每个文档中的字段进行排名,最后将其升序排序。
这样,每次调用solr响应时,我们都可以重新排列产品。
实现此目标的可能性之一是拥有RandomSortField,可以将其用作排序的第二个字段。
schema.xml:
<fieldType name="random" class="solr.RandomSortField" />
<dynamicField name="random*" type="random" indexed="true" stored="false"/>
然后,您需要在查询时间内进行如下排序:
sort=rank DESC,random_1 DESC
因此,您将能够实现所需的,唯一的警告是RandomSortField
的值不是从1到10,而是真正的随机。