Koc
Новичок
Есть индекс в сфинксе, там товары компаний. Мы выбираем по куче фильтров их и на выходе у нас 3 товара от одной фирмы А, 3 товара от Б и 2 товара от С. Фирма Б круче А. Степень крутости А и С одинаковая. Нам нужно так выводить товары:
Б1
Б2
Б3
А1
С1
А2
С2
А3
то есть сначала товары крутых фирм, а потом остальных. Но не подряд от одной фирмы, а вперемешку от разных по одному товару. Результатов в выдаче где-то по 5 тысяч
у меня тут решение - выбрать это все в пхп, тут преобразовать и загнать в редис минут на 10, где ключ - md5(serialize($filters))
если б без пагинации - без особых проблем через group N by company_id можно реализовать
Б1
Б2
Б3
А1
С1
А2
С2
А3
то есть сначала товары крутых фирм, а потом остальных. Но не подряд от одной фирмы, а вперемешку от разных по одному товару. Результатов в выдаче где-то по 5 тысяч
у меня тут решение - выбрать это все в пхп, тут преобразовать и загнать в редис минут на 10, где ключ - md5(serialize($filters))
если б без пагинации - без особых проблем через group N by company_id можно реализовать
Последнее редактирование: