?

Log in

No account? Create an account
official

Заводы стоят, одни мордоляпы в стране!


Previous Entry Share Next Entry
official

Технопост про топ записей

Как вы знаете, мы тут проводим эксперименты, определяющие, что же на самом деле влияет на попадание записи в топ ЖЖ. В каждой итерации теста одновременно участвует по 20-30 постов, поэтому хотелось бы иметь хороший инструмент для быстрого просмотра топа записей.

Перед проведением тестов я подробно изучил, как сервера ЖЖ выдают информацию со списком топовых записей. Очень не хотелось листать по 20 страниц, высматривая там нужные посты. И тут уютненькая преподнесла отличный подарок. Оказалось, что когда вы смотрите топ записей, сервер ЖЖ выдает их пачками по 500 штук, только показывает первые 25. Кроме того, выдача записей не зависит от того, личный вы смотрите топ, или чей-то еще. Фильтрация забаненых пользователей и скрытых записей производится на странице рейтинга а не на сервере.

В итоге, чтобы получить полный топ 2000 записей, нужно сделать всего 4 запроса типа:

http:// l-stat.livejournal.com/tools/endpoints/ratings.bml?callback=ratingsCache_#PageNumber#&homepage=0&sort=visitors&country=cyr&page=#PageNumber#&_=#UnixTimestamp#,

где #PageNumber# — номер страницы топа длинной в 500 записей, а #UnixTimestamp# — количество секунд, прошедшее с основания вселенной UNIX, то есть с первого января 1970-го года. И пробел после http:// надо убрать, я его поставил, чтобы текст не превратился в неполноценную ссылку.

Общий топ от личного отличается тем, что на странице полного общего рейтинга записей, и только на ней, в качестве #UnixTimestamp# всегда передается 0. То есть он отстает на максимальную глубину истории топа, которая равняется примерно 10-ти часам. Но поскольку на главной странице ЖЖ и на странице рейтингов параметры передаются правильно, и более того, абсолютно идентичные для общего топа и для частного (и ответ ничем не отличается), этой особенностью полного общего топа записей можно принебречь. Более того, по умолчанию, пользователь всегда видит личный топ (у которого с параметрами все нормально), что только придает веса нашему предположению не учитывать полный общий топ записей. Все равно его никто не смотрит.

PS. В предыдущем посте я писал, что будет мне наука не бежать впереди паровоза. Так вот выяснилось, что мои спринтерские характеристики тут ни при чем. Просто ЖЖ поменял формулу рассчета позиции поста в топе записей. Сразу после наших экспериментов, наглядно показавших, что главное — это сумма СК посмотревших запись пользователей. Из-за этого нам пришлось повторять все эксперименты заново. Дважды. А некоторые — трижды. Кроме того, мой прекрасный, многостраничный пост с результатами и доказательной базой стал неактуален. Пришлось писать новый. Скоро на ваших экранах, не переключайтесь.
Ну и ссылка для френжения, как всегда.

Buy for 100 tokens
Buy promo for minimal price.

  • 1
zilogic October 31st, 2012
Параметр sort=hit|visitors
Кстати, был баг с отсутствием сортировки, в ближайшем патче поправится.

vmenshov October 31st, 2012
А когда стоит visitors, что там реально учитывается? Вот вчера смотрел топ. Одну запись посмотрели livestrend, lunohod1, klassno и vmenshov, но она даже в топ не попала. Другую посмотрел один ljpromo. Запись на 608-м месте. Третью посмотрели livestrend, lunohod1, klassno и ljpromo, запись на 611-м. Как это можно объяснить? Логи топа и статистику могу предоставить.

zilogic October 31st, 2012
А вот тут я не помошник - счётчики и расчёт рейтинга это не моя епархия. Понятия не имею как там всё работает.

vmenshov October 31st, 2012
Но для вас сортировка идет по некому полю visitors, где стоит волшебное число? Или там на самом деле сортировка по нескольким параметрам?

zilogic October 31st, 2012
У меня есть функция, возвращающая рейтинг. Ей в качестве одного из параметров передаётся sort. Всё остальное - чёрный ящик.

vmenshov October 31st, 2012
Баг был именно с отсутствием сортировки по hit?

zilogic October 31st, 2012
Да

  • 1