druid
Пользователь
В-общем, есть серьезный баг с поиском в tracker.php. Поскольку админы не хотят исправлять её в SVN, напишу сюда, чтобы общественность сама исправила ручками.
Описание: Поиск в tracker.php реализован след.образом - по искомому слово ищутся номера топиков (через mysql/sphinx), затем по этим топикам уже собирается запрос получения трекерных данных (сиды,личы и т.д.)
Но этот самый поиск ограничен лимитом, поэтому в список топиков при поиске распространенного слова (у меня это было слово Repack) будут попадать не все релизы, а поскольку при поиске топиков нет никакой сортировки, то в список найденных релизов могут не попасть даже свежие топики.
Исправление:
находим функцию get_title_match_topics в файле includes/functions.php
в ней
находим
заменяем на
находим
меняем на
находим
меняем на
скорее всего такая же ситуация в search.php, но туда пока руки не добрались
Описание: Поиск в tracker.php реализован след.образом - по искомому слово ищутся номера топиков (через mysql/sphinx), затем по этим топикам уже собирается запрос получения трекерных данных (сиды,личы и т.д.)
Но этот самый поиск ограничен лимитом, поэтому в список топиков при поиске распространенного слова (у меня это было слово Repack) будут попадать не все релизы, а поскольку при поиске топиков нет никакой сортировки, то в список найденных релизов могут не попасть даже свежие топики.
Исправление:
находим функцию get_title_match_topics в файле includes/functions.php
в ней
находим
PHP:
$sphinx->SetLimits(0, $limit, $limit, $limit);
PHP:
$row = DB()->fetch_row("SELECT COUNT(*) as count FROM ". BB_TOPICS);
$sphinx->SetLimits(0, $row['count']-1, $row['count']-1, $row['count']-1);
находим
PHP:
$sql = "SELECT topic_id FROM ". BB_TOPICS ."
WHERE MATCH (topic_title) AGAINST ('$title_match_sql'$search_bool_mode)
$where_forum
LIMIT $limit";
PHP:
$sql = "SELECT topic_id FROM ". BB_TOPICS ."
WHERE MATCH (topic_title) AGAINST ('$title_match_sql'$search_bool_mode)
$where_forum";
//LIMIT $limit";
находим
PHP:
$sql = "SELECT p.post_id FROM ". BB_POSTS ." p, ". BB_POSTS_SEARCH ." ps
WHERE ps.post_id = p.post_id
AND MATCH (ps.search_words) AGAINST ('$title_match_sql'$search_bool_mode)
$where_forum
LIMIT $limit";
PHP:
$sql = "SELECT p.post_id FROM ". BB_POSTS ." p, ". BB_POSTS_SEARCH ." ps
WHERE ps.post_id = p.post_id
AND MATCH (ps.search_words) AGAINST ('$title_match_sql'$search_bool_mode)
$where_forum";
//LIMIT $limit";
скорее всего такая же ситуация в search.php, но туда пока руки не добрались