Можно ли реализовать двойную систему оценки материалов?

A
На сайте с 13.05.2010
Offline
55
695

Вопрос из ряда – "Возможно ли?", если - "Да", то "Что для этого нужно?"

При регистрации на сайте, человек выбирает одну из двух групп, к которой он относится. К примеру: Лёлики и Болики.

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

Задача

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

Т.е. у каждого материала есть две оценки одна от Лёликов, вторая от Боликов.

Зачем это нужно?

1. Выводим блок "Полезные материалы", в нём две колонки:

а)По мнению Лёликов - - - - - - б)По мнению Боликов

2. Просматривает "Лёлик" статью, рядом с которой кроме блока "Похожие материалы и т.д." есть блок "Болики рекомендуют"

3...Такой системе оценки материалов, можно найти великое множество применений.

На некоторых сайтах видел следующее:

Блок "Полезные материалы" делится на: "По мнению читателей" и "Выбор редакции"

Но я так себе полагаю, что "Выбор редакции" - это просто вывод материала по Id или ещё какому-то признаку без каких либо оценок.

IL
На сайте с 20.04.2007
Offline
435
#1

Эм.. а в чём сложность? В таблицу материалов (или отдельную таблицу рейтингов/оценок с id=id_material) можно добавить 2 колонки

point_lelik

point_bolek

Плюсовать-минусовать в зависимости от текущего (кто оценивает) пользователя лёлика-болека.

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

id_material, id_user, point

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

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
E
На сайте с 21.09.2009
Offline
283
#2

artool, возможно ли? Да возможно.

KS
На сайте с 11.06.2012
Offline
17
#3

Конечно возможно. Около 10 лет назад я сделал сайт анекдотов http://anek.ws/ который подбирает анекдоты персонально по вкусу каждого посетителя. Вкусы определяются оценками, которые посетители ставят анекдотам. А делается это примерно так, как вы собираетесь. Только групп пользователей не 2 а более 100. Оценка каждого пользователя каждому анекдоту влияет на выдачу этого анекдота членам этой же группы пользователей. После того, как я это изобрёл, я выяснил, что это уже изобрели давно до меня, и назвали "коллаборативная фильтрация" :-)

FileSafe (http://filesafe.anek.ws/) - мониторинг неизменности файлов сайта для защиты от взлома. Для форумчан - первый год бесплатно.
A
На сайте с 13.05.2010
Offline
55
#4
ivan-lev:
Эм.. а в чём сложность? В таблицу материалов (или отдельную таблицу рейтингов/оценок с id=id_material) можно добавить 2 колонки
point_lelik
point_bolek

Спасибо, я тоже в эту сторону думал, но нужно было подтвердить собственные домыслы.

KostaShah:
После того, как я это изобрёл, я выяснил, что это уже изобрели давно до меня, и назвали "коллаборативная фильтрация" :-)

Коллаборативная фильтрация - очень интересная тема, но немного не то, что мне нужно.

Вопрос можно считать закрытым.

Ayavryk
На сайте с 11.10.2003
Offline
209
#5
artool:
Спасибо, я тоже в эту сторону думал, но нужно было подтвердить собственные домыслы.

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

К примеру при появлении нового пункта в анкете выборка по этому пункту будет потеряна.

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

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий