2012-04-14 1 views
1

Я проектирую сайт и не знаю, как оценивать систему с точки зрения логики.MYSQL сортировка контента по логике и мнениям по рейтингам?

Итог: Я хочу элемент с 4 звездами с 1000 голосами, чтобы быть оцененными выше, чем элемент с 1 голосом из 5 звезд. Тем не менее, я не хочу, чтобы предмет с 1 звездой с 1000 голосами был оценен выше, чем элемент с 4 звездами и 200 голосами.

У кого-нибудь есть идеи или советы относительно того, что делать?

Я нашел эти два вопроса

Sorting by weighted rating in SQL?

MySQL Rating System - Find Rating

и у них есть свои недостатки, и в первом, я не понимаю, что означает, что победитель на «Вы можете денормализовать это оценивая ценность в случае по соображениям эффективности, если у вас много оценок. " Пожалуйста, поделитесь некоторыми соображениями? Спасибо!

+1

Вы должны начать с определения строгих формальных правил, которые должны быть ранжированы выше, чем что. Без этого вы ничего не сможете сделать. –

+0

Я понимаю, что это довольно широкий вопрос, но я надеялся, что кто-то сможет сказать мне, есть ли общая формула для этого, что использует YouTube или арт-сайт, такой как deviantart. Я чувствую, что мне просто не хватает знаний, и что-то уже существует в качестве стандарта. Спасибо за интерес и ответ! – Darius

+0

Тогда вы должны были сформулировать такой вопрос. Такой формулы нет. Каждый большой сайт определяет свои собственные критерии сортировки. –

ответ

1

Вот краткая схема такой системы, которая работает путем определения бонусного коэффициента xₙ для каждого номера флага. По вашему вопросу вы хотите:

x₄*4*1000 > x₅*1*5 

и

x₁*1*1000 < x₄*4*200 

Настройка коэффициентов к, например x₁=1, x₄=2 и x₅=2 удовлетворит это, но вы, конечно, хотите, чтобы настроить его и добавить недостающее факторы.

1

Он означает, что вы должны поместить данные рейтинга в таблицу событий (и, следовательно, иметь избыточные данные), чтобы оптимизировать ее для производительности.

Смотрите в вики Денормализация: http://en.wikipedia.org/wiki/Denormalization

Данные, которые вы должны определить ранг элементов является:

  • средняя оценка
  • количество оценок

Твердая часть вероятно, составляет правил для рейтинга. Например: если средний рейтинг предмета> 4 и количество оценок < 4 относятся к нему как оцененный 3.9

Для удобства я бы поставил это значение (как обрабатывать позиции для ранжирования) в таблице элементов.