В основном — так же, как и большой робот, то есть, по ссылкам. Нельзя выкладывать на поиск документы, если мы не знаем, как по набору ссылок, каждая из которых не закрыта robots.txt, эти документы достижимы. Есть небольшое количество магии, связанной с особенностями свежести:
Детектить нужно очень быстро, поэтому крупные "хабы" — источники хороших свежих страниц — нужно обходить очень часто. Примерами таких хабов могут служить главные страницы СМИ. Некоторые хабы благодаря Яндекс.Новостям мы знаем априори, а некоторые автоматически детектируются как страницы, на которых часто появляются ссылки на "хорошие" документы.
Какие из обнаруженных документов нужно скачать, решает специальная формула, которой приходится работать с очень ограниченным набором факторов, т.к. про новый документ мы часто знаем только одну ссылку и собственно урл. Хорошо работают всякие агрегации по кускам урла (например, мы знаем, что урлы, начинающиеся с lenta.ru, оказываются достаточно посещаемыми). У этой формулы есть еще одна особенность: мы не можем очень много качать с одних и тех же хостов/айпишников, т.к. легко можем устроить дружественному источнику DDoS. Так что формуле приходится каждый раз решать задачу "выбрать не более N лучших документов из M для каждого хоста". Еще бывает так, что страница сама по себе плохая и в поиск вряд ли попадёт, зато с неё есть много ссылок на другие хорошие страницы. Поэтому обучение формул в этом месте можно написать отдельную статью :)
Отобранные документы быстро прокачиваются и часть из прокачанного, еще и на основе контентных факторов (текста, заголовка, картинок и т.п.) попадает в индекс. Документ нужно очень быстро сделать доступным для индексации, поэтому для суперсвежего слоя у нас работает специальная разновидность поиска, которая может очень быстро подтягивать обновления.
Еще есть два интересных момента про быстрый робот:
Нужна снималка дублей, причем понятно, что для нее набор средств очень ограничен — например, какой-нибудь глобальный reduce по шинглам совсем не подходит.
Нужно определять, какие документы на самом деле являются старыми. Бывает так, что документ старый, а ссылку на него мы узнали вот только что — базово нет никакого способа понять, что документ очень старый. Приходится выкручиваться :)
Я тоже так думаю, но, если посмотреть на любую свежую выдачу, становится очевидным, что её без проблем можно было бы прокачать по всем возможным показателям: всегда можно сделать и более авторитетную, и более свежую выдачу. Так что, конечно, при всех сложностях, связанных с оптимизацией под несколько метрик, важно не забывать, что живым пользователям нужны все компоненты, и нужно их улучшать, чтобы не проиграть в конкурентной борьбе.
Привет :) Досадно это признавать, но претензия совершенно по делу. Ведь нельзя просто так написать пост про свежесть и чтобы ничто не пошло не так! :) Действительно, в день публикации испытывали проблемы с индексацией именно в районе Хабра.
К счастью, такое случается редко, а о общих показателях в этом месте намного нагляднее любых слов говорит график Ашманова.
Да, конечно. В этой статье мы рассмотрели только веб-свежесть, я специально это подчеркиваю, в противном случае статья получилась бы невообразимо длинной :) При этом нужно помнить, что текстовые документы обеспечивают львиную долю потребления свежей информации, а методы, используемые для их ранжирования, применимы и к другим типам контента.
Мне, как бывшему разработчику Яндекс.Новостей, очень хорошо знакома эта дихотомия :) С точки зрения пользователя разница достаточно прозрачна: агрегатор работает в «беззапросной» схеме, тогда как Поиск отвечает на конкретный пользовательский запрос. При этом поисковая система всё равно должна удовлетворять всем тем же требованиям, что и страница новостного агрегатора: информация должна быть актуальной, источники должны быть авторитетными, а представление — понятным для пользователя.
В основном — так же, как и большой робот, то есть, по ссылкам. Нельзя выкладывать на поиск документы, если мы не знаем, как по набору ссылок, каждая из которых не закрыта robots.txt, эти документы достижимы. Есть небольшое количество магии, связанной с особенностями свежести:
Еще есть два интересных момента про быстрый робот:
Я тоже так думаю, но, если посмотреть на любую свежую выдачу, становится очевидным, что её без проблем можно было бы прокачать по всем возможным показателям: всегда можно сделать и более авторитетную, и более свежую выдачу. Так что, конечно, при всех сложностях, связанных с оптимизацией под несколько метрик, важно не забывать, что живым пользователям нужны все компоненты, и нужно их улучшать, чтобы не проиграть в конкурентной борьбе.
К счастью, такое случается редко, а о общих показателях в этом месте намного нагляднее любых слов говорит график Ашманова.