Алгоритм наиболее важных сообщений на стене

Я собираюсь разработать стену, которая будет получать много постов от разных пользователей. У меня есть глобальная таблица под названием "edu_posts", содержащая сообщения на стене и комментарии к ним.

Я хотел бы создать какую-то систему, чтобы сосредоточиться на предоставлении наиболее актуального контента для пользователя.

Я желаю обратной связи / альтернативные методы / и т.д. для моего текущего решения, о котором я подумал, а именно:

Простая рейтинговая система:

  1. Создайте список соответствующих user_ids: База данных существует из разных таблиц, таких как: подписчики, посты, сообщения, лайки (из постов и комментариев). Затем система ищет все строки, где author_id - это идентификатор текущего пользователя. Затем мы получаем receive_id и помещаем их в массив. Вероятно, retriever_id - это человек, с которым текущий пользователь пытается общаться и / или считает интересным - по крайней мере, он либо подписался, прокомментировал / понравился свой пост и т. Д. Сборка массива: key => the user id, value => the number of times the reciever_id has appeared, Затем вы получите список, как показано ниже:$userlist = array(12 => 9, 55 => 8, 7 => 5, 56 => 3) // etc etc (так в основном: ID 12 появлялся 9 раз, ID 55 8 раз и т. д.) Теперь мы получили список соответствующих user_ids.
  2. Добавление оценок к posts_array: я извлекаю все сообщения на стене и комментарии из базы данных, и они выводятся в виде массива следующим образом: Посмотреть скриншотТогда я буду сравнивать мой $userlist массив с каждым полем: author_id (for the post), author_id (for the comments), author_id (for the likes), Допустим, что в посте 30 (выше напечатанного примера) идентификатор пользователя: 12 существует 3 раза (2 раза в комментариях и 1 раз в лайках), тогда рейтинг 3 * 9 (nine, because the user_id 12 has appeared 9 times in our $userslist), а затем мы добавим этот номер (3 * 9): 27 to the ratings field, в $posts_array,
  3. Сортировка posts_array: тогда все, что мы в основном делаем, это сортируем $posts_array по сравнению с полем рейтинги.

Имеет ли это смысл? Ты понимаешь мою проблему? Я надеюсь, что я достаточно ясно. Я понимаю, что это очень сложный вопрос, и что на самом деле нет никакого реального ответа. Мне просто нужно оценить различные методы, которые существуют, так как приведенный выше пример будет довольно тяжелым SQL (для извлечения всех соответствующих таблиц и содержащих данные) и операцией PHP.

Спасибо заранее!

0 ответов

Другие вопросы по тегам