Я пытаюсь построить крошечный поисковый движок, используя mysql. Каждое упражнение может иметь произвольное количество поисковых тегов. Вот моя структура данных: TABLE exercises ID title TABLE searchtags ID title TABLE exerciseSearchtags exerciseID -> exercises.ID searchtagID -> searchtags.ID … где exerciseSearchtags – это много-много соединений, выражающих взаимосвязь между упражнениями и поисковыми тегами. Поисковая система принимает неизвестное количество […]
Я с нетерпением жду применения байесовского подхода, чтобы определить приоритеты списка, который мог бы учитывать количество симпатий, антипатий и оценок. Подход, приведенный здесь, опирается на байесовское среднее значение: $bayesian_rating = ( ($avg_num_votes * $avg_rating) + ($this_num_votes * $this_rating) ) / ($avg_num_votes + $this_num_votes); В моем случае нет $avg_rating так как его не 5-звездная система, она […]
Я хочу добавить простую рейтинговую систему к моему случайному видеосайту (id = youtube id) У меня нет большого опыта работы с php и MySQL, и я не уверен, как обновить поле с помощью кнопок отправки таким образом: <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name"rateform"> <input name="rateup" type="image" src="up.png" id="rateup" value="rateup" /> <input name="ratedown" type="image" src="down.png" […]
class Rating { public static function ratingAverage($positive, $total, $power = '0.05') { if ($total == 0) return 0; $z = Rating::pnormaldist(1-$power/2,0,1); $p = 1.0 * $positive / $total; $s = ($p + $z*$z/(2*$total) – $z * sqrt(($p*(1-$p)+$z*$z/(4*$total))/$total))/(1+$z*$z/$total); return $s; } public static function pnormaldist($qn) { $b = array( 1.570796288, 0.03706987906, -0.8364353589e-3, -0.2250947176e-3, 0.6841218299e-5, 0.5824238515e-5, -0.104527497e-5, […]
Недавно я рассматривал алгоритмы ранжирования, особенно те, которые используются Reddit и Hacker News. Сами алгоритмы достаточно просты, но я не совсем понимаю, как они используются. Одна вещь, которую я мог бы сделать, это реализовать алгоритм прямо в SQL, так что каждый раз, когда пользователь переходит на страницу, отображающую ранжированные сообщения, что-то вроде этого будет работать: […]
У меня есть таблица в MySQL, которая позволяет просто сказать, например, что она получила два поля: Username, GameName и Score. Я хочу рассчитать ранг пользователя для индивидуального имени игры, чтобы я мог выполнить запрос SELECT * FROM scores WHERE `GameName` = 'Snake' ORDER BY `Score` DESC чтобы получить список всех пользователей в порядке наивысшего наименьшего […]
CREATE TABLE `players` ( `pid` int(2) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `team` varchar(20) NOT NULL, `age` int(2) NOT NULL, PRIMARY KEY (`pid`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `players` (`pid`, `name`, `age`, `team`) VALUES (1, 'Samual', 25, 'aa'), (2, 'Vino', 20, 'bb'), (3, 'John', 20, 'dd'), (4, 'Andy', 22, […]