Забыли пароль?
Запросите новый здесь.

Автор темы: Vveb--ws
ID темы: 3040
Информация:
Тема содержит 6 сообщения, была просмотрена 420 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Пожелания и предложения
 Распечатать тему
Поиск новых и популярных страниц для пользователя
Vveb--ws
Допустим пользователь пришёл на сайт.

Мне надо подобрать для него набор новых и популярных страниц, которые наиболее высоко оценили другие пользователи и которые он ещё не видел.
сайт развлекательный и потому показывать "страницы этой категории" "новые страницы" и "лучшие страницы" особого смысла нет. как я обычно делаю.
Какой алгоритм вы предложите?

1) Я поставил ему куку с id

2) Делаем поле "оценка страницы" "rating" как квадрат разности like и dislike

3) Все id просмотренных пользователем страниц записываем в файл. а при обращении к сайту эксплодим его в массив $user_viewed_pages.

4) по крону или периодически делаем выборку всех страниц сайта из БД "ORDER BY rating DESC"
записываем в файл в массив $all_pages все имеющиеся в БД id страниц сайта (некоторые могут быть удалены). вначале самые лучшие.

5) находим первые 13 страниц которых нет в массиве $user_viewed_pages. 12 - для отображения меню "похожих страниц"

6) если не нашли, делаем новую выборку из БД пока не найдём.

7) вносим в список $user_viewed_pages текующую страницу

8) отображаем страницу и меню "похожих страниц"

чё скажете ?

немного смущает скорость работы сравнения 2 массивов с тыщами id. но наверное хостинг потянет.
всё сводится к 1 функции array_diff():
https://php.ru/forum/threads/kak-iz-odnogo-massiva-udalit-sxodnye-ehlementy-drugogo.14532/ - точно мой пример !
http://php.net/manual/ru/function.array-diff.php
http://php720.com/lesson/37
Изменил(а) Vveb--ws, 19.02.2019 18:04
 
Web
Polarfox
и зачем?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Vveb--ws

Vveb--ws написал:
Мне надо подобрать для него набор новых и популярных страниц, которые наиболее высоко оценили другие пользователи и которые он ещё не видел.

чтобы он читал.
 
Web
ovas
Гугл с Яндексом в сторонке нервно курятai
 
Web
Polarfox
просто исключи страницы которые он видел, сделай доп таблицу куда пиши что он видел, либо массив в печенье где отмечены страницы которые он видел.
можно и иначе, суть ты понял.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Vveb--ws
Polarfox написал:

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

ну я ж это и предлагаю.
Изменил(а) Vveb--ws, 21.02.2019 23:32
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Покопаться в чужом коде для парсинга. Wordpress.  →  Платные услуги 1 / 418 04.09.2019 13:50
Zinsta - Программа для раскрутки и продвижения instagram  →  Флуд 10 / 2101 27.08.2019 15:19
разные языки для юзеров  →  Локализация 17 / 2765 06.08.2019 06:44
Возможности CMS, необходимые для SEO продвижения (видео)  →  Пожелания и предложения 0 / 524 01.06.2019 22:35
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи  →  Моды 20 / 14210 01.06.2019 18:19
Как определить необходимые мощности хостинга для группы сайтов с определённой посещалкой?  →  Хостинг 0 / 845 20.02.2019 20:46
Денежный комплект шаблонов для емейл-рассылок  →  Флуд 0 / 453 07.02.2019 19:18
Вы пишите комерческие предложения (КП) для форумов и фриланс-бирж?  →  Народное творчество 0 / 656 25.11.2018 18:43
Есть ли готовые плагины для сайтов по недвижимости и, автодилера и пр?  →  Пожелания и предложения 0 / 563 10.11.2018 17:41
Версия сайта для слабовидящих  →  Пожелания и предложения 12 / 11472 04.11.2018 17:32
Топ 5 пользователей форума
Alex Alex (1,211)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)