У нас есть сайт, где пользователи могут оценивать и просматривать записи. Рецензия — это, в основном, рейтинг без текстового содержания, а рейтинг помечается цифрами от 1 до 5, определяя, насколько хорошо пользователь оценивает листинг.
Проблема, которую мы получаем, связана с сортировкой записей на основе рейтингов, технически списки, которые имеют больше рейтингов и большее среднее значение рейтингов, должны занимать более высокие места и соответственно сортироваться. Для этого я думаю о добавлении поля индекса рейтинга в наши списки, которое обновляется всякий раз, когда делается оценка / обзор.
То, что я застрял в том, как рассчитать рейтинг здесь. Например, запись с 5 оценками и 2 отзывами не должна быть выше, чем запись с 5 отзывами и двумя оценками. Аналогичным образом, если рейтинг составлен пользователем, который сделал более чем x отзывов, его рейтинг имеет больший вес.
В основном индекс рейтинга здесь представляет собой значение, которое рассчитывается на основе суммы значения, присвоенного рейтингу.
Рецензия будет иметь более высокую ценность, чем оценка, а рецензия, сделанная пользователем, у которого написано более х рецензий, определенно будет иметь более высокую ценность.
Я застрял в том, чтобы найти эффективную формулу, чтобы мы могли рассчитать индекс рейтинга, который не выглядит случайным при сортировке и все еще имеет смысл.
Почему бы не просто весовые рейтинги и отзывы с пользователями, номера рейтингов и обзоров?
Пользователям может быть назначен больший вес каждый раз, когда они публикуют более 5, 10, 20, 50 и т. Д. Обзоров, или вы можете взвешивать каждый обзор …
Ваша база данных должна поддерживать столбец веса, который обновляется каждый раз, когда пользователь что-то добавляет. Затем то, насколько вы весите вещи, является чем-то субъективным и зависимым, и другие вещи, например, насколько лямбда-пользователь заслуживает доверия по сравнению со старыми активными пользователями, а также сколько трафика вы получаете …
Других решений пока нет …