Как я могу отсортировать результаты моего solr, чтобы ограничить количество последовательных результатов?
Допустим, я выполняю запрос solr, который сортирует по баллам (по умолчанию). У меня есть поле "бренд", в котором содержатся Ford, GM, Toyota и т. Д. Я хочу, чтобы результаты запроса возвращались так, чтобы какой-либо конкретный бренд мог иметь только три последовательных результата? Даже если первые 100 результатов - это Toyota для моего запроса, я все же хочу, чтобы 101-й элемент был взят и показан на 4-м месте (чтобы только три автомобиля Toyota могли появляться в последовательности).
Я должен быть в состоянии пролистать результаты.
Я использую RoR/ солнечное пятно FYI.
Это возможно?
1 ответ
Не уверен, что вы можете получить именно то, что вы хотите, но я бы посоветовал взглянуть на группировку результатов. Это позволяет группировать результаты, которые имеют одинаковое значение для определенного поля, например brand
в твоем случае. Затем вы можете определить, сколько результатов вы хотите для каждого бренда через group.limit
параметр (по умолчанию 1). Затем вы можете разбить на свои сгруппированные результаты с помощью group.offset
параметр.
Это должно работать до тех пор, пока ваш brand
поле не многозначное.