Как массово понизить рейтинг у пользователей и публикаций на проекте (смена рейтинговой системы)?

Коллеги, вот такой у меня к вам вопрос.
Ввиду острой необходимости что-то сделать с системой рейтинга в версии 0.5.1 (рейтинг у юзеров рос как на дрожжах, куча накруток и прочее) решил поступить очень просто — уменьшил коэффициенты накрутки рейтинга. Другими словами — теперь за каждое голосование (вне зависимости от силы голосующего) будет добавляться рейтинга чуть-чуть, чисто символически, так сказать. За публикации теперь голосование строго +1 или -1 и т.д. Но вопрос не в этом, это лишь предыстория…

Подскажите, как мне уровнять весь прошлый рейтинг (до момента перехода на новую систему) до состояния, примерно схожего с тем, что действует сейчас. Другими словами. теперь что бы набрать у публикации рейтинг в 40 или 50 нужно реально хорошую публикацию написать, а до этого у меня было довольно много (среднего по качеству) материала с рейтингом 70-80 и выше. То же касается рейтинга пользователей, как следствие. Вот я думаю как мне пропорционально введенным изменениям понизить рейтинг который все накрутили себе «ДО» изменений.

Очень надеюсь что объяснил понятно, рад буду советам.

9 комментариев

avatar
Что значит пропорционально? сделать все одинаково? или понизить допустим на 25? :) мне кажется можно или php скрипт написать :) который это сделает, у которого будет полный доступ к БД — ну или какой то БД запрос сделать :))

просто я не силен в программирование :) но знаю что такое реально сделать.
avatar
Проще всего всем рейтинг сделать нулевой и начать все сначала, и не делать +1 или -1 а просто сделать, что нужно иметь допустим 2 рейтинг чтобы можно было голосовать за топик, тогда не будет виртуалов, которые будут сами за себя голосовать, (т.е. в начале голосовать будет только админ и выбирать избранных, а потом уже те кто набрал рейтинг смогут тоже голосовать) по сути такая же система и на livestreet и на habrahabr, а в дальнейшем порог можно будет повысить (так на хабре сделали).
  • gran
  • 0
avatar
Под «понизить» я подразумеваю некий процесс, в результате которого на определенную величину понижается рейтинг всего вокруг (юзеров, публикаций, блогов. Например, сейчас в среднем публикация набирает 30, раньше набирала 70 = отношение где-то 2.3. Соответственно с учетом такого отношения хочу понизить.

Понял идею относительно пхп, это запасной вариант. Хотел уточнить мож есть кже подобная задумка или реализация. Полностью обнулять не хочу, ибо юзеры обидятся (чувствительные очень, не поймут).
avatar
а мне кажется НОРМАЛЬНЫЕ юзеры поймут :) а вот мультики пусть обижаются, ведь так?

нет встроенного такова не знаю не видел.
avatar
Т.е. получается вам нужно только у публикаций рейтинг понизить, правильно понимаю?
Тогда можно простой скрипт над базой выполнить:

update prefix_topic 
set topic_rating = topic_rating/2
where topic_rating > 50;

тут соответственно если рейтинг топика больше 50 то тогда рейтинг топика понижаем вдвое.
пс: не забудьте сделать бэкап.
avatar
Все верно, только топикам и юзерам. Причем за определенный период времени.
Вашу идею понял, вопросов нет — спасибо за пример. Сейчас попробую отрепетировать на локале и потом (разумеется с бэкапом) произведу на сайте.
avatar
ну то есть как я вам и сказал изначально либо пхп-скрипт, либо прямой запрос в БД
avatar
нормально такой запрос отрабатывает?
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.