2017-01-11 5 views
1

Я создаю сайт с лентой изображений (аналогично pinterest). Я хочу перечислить эти образы в порядке возрастания их популярности (нет симпатий и просмотров каждого изображения) с разбиением на страницы.Показать галерею изображений, основанную на рейтинге

Im путать о том, как это реализовать ..

Мы используем MongoDB, Документ имеет следующие поля 1. _id 2. user_id 3. image_id 4. оценка (что стоимость популярности , (нет просмотров) + 10x (нет)) 5. Ранг

Мы собираемся запустить скрипт ежедневно, чтобы вычислить значение оценки. И запустите сценарий цикла, чтобы присвоить ранг (изображение с наивысшим счетом получает 1-й ранг, второе место получает ранг 2 и т. Д.).

После этого фид извлекает изображения в порядке возрастания ранга. Запуск такого сценария из миллионов таких документов займет много времени. Есть ли лучший способ сделать это?

ответ

0

вы можете попробовать различные подходы для своих нужд, реализовать их и найти лучшее.

  1. ваша идея: фоновая работа (в ночное время) для расчета поля в БД
  2. на обновление страницы: выбрать изображения, заказ по любит * 10 + вид на DESc
  3. на каждом виде изображения или т.п., обновление изображения ранг
Смежные вопросы