Pull to refresh
63
0
Илья@cast

User

Send message
Грубо говоря выход Crawler-а это файл для каждого сайта для последующей индексации. По мере их появления (10 роботов могут класть удаленно файлы в каталог для индексации) их берет индексатор и уже делает кусочек индекса — который потом добавляется к основному. Про индексатор и методику инкрементального построения индекса тоже напишу подробно

Вероятность что 10 crawler'ов будут индексить один сайт весьма мала — сайты выбираются из очереди исходя из даты начала индексации (чем больше прошло тем лучше), весов, кол-ва страниц и тд. Т.е. начиная очередной сайт crawler просто проставляет текущую дату и следующий робот уже этот сайт не возьмет.

Это в двух словах

Собственная БД. Вернее одна из собственных — в одной индекс, в другой инфа по страницами и словам разнообразная, в третьей PR, в четвертой тексты. Но для упрощения можно считать что просто пишу на диск в хитрую структуру каталогов и файлов с быстрым последовательным доступом. Тоже расскажу, я реально просто не могу все описать за 1 день :)
К этому подойдем. ВМ25 давно устарела — в ней дай бог 5 факторов, когда сейчас легко вычисляются сотни
У меня самообучающаяся функция типа яндексовой
Да, правда опыт внедрения на сервера в ДЦ как-то не сильно порадовал — канал иногда тупит больше чем 20Мб дома. Пока на 3 серверах работают разные модули
Сложно сказать — все вместе
Надо собрать хотя бы 1000 страниц, это 10-100 мб, распарсить-сохранить, ссылки в очередь добавить
Возможно нужен просто пустой сервак для чистоты эксперимента, возможно винч не успевает. Если иметь сильно больше сайтов в параллель растет загрузка по отработке очереди

Основная то работа по сохранению, а не по загрузке
Ну согласитесь, что искать по энциклопедиям, умея искать по огромному кол-ву разных документов, будет намного проще. Меня просто на все не хватит. Первоначально я занимался параллельным поиском и по файлам в файловых хостингом, и в новостях, и в торрентах, и в вакансиях — благо многие базы у меня есть и обновляются самостоятельно, но меня просто на все не хватило. Я выделил наиболее интересный кусок для себя.

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

Я обязательно раскрою предложенную Вами тему, но пока мне жаль, что она остается только в моей голове.
Одно из уже реализованных, но пока не оптимизированных под нормальную быструю работу в связке с поиском — кластеризация результатов — то что делает clusty.com и nigma.ru. Только в отличие от последней, я могу это делать по всему массиву документов, а не по 400 сниппетам. И я не успел тогда прикрутить это раньше нигмы — они меня опередили наверное месяца на 4-5
Трудный вопрос. Показывать проект не всегда работающий хотя бы «средне» я не готов — ведь все что вы увидите это результаты поиска, с ними я еще борюсь.
Ну согласитесь, что искать по энциклопедиям, умея искать по огромному кол-ву разных документов, будет намного проще. Меня просто на все не хватит. Первоначально я занимался параллельным поиском и по файлам в файловых хостингом, и в новостях, и в торрентах, и в вакансиях — благо многие базы у меня есть и обновляются самостоятельно, но меня просто на все не хватило. Я выделил наиболее интересный кусок для себя.

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

Я обязательно раскрою предложенную Вами тему, но пока мне жаль, что она остается только в моей голове.
Одно из уже реализованных, но пока не оптимизированных под нормальную быструю работу в связке с поиском — кластеризация результатов — то что делает clusty.com и nigma.ru. Только в отличие от последней, я могу это делать по всему массиву документов, а не по 400 сниппетам. И я не успел тогда прикрутить это раньше нигмы — они меня опередили наверное месяца на 4-5

хорошая идея, но и повысить загрузку сервера, кроме того по умолчанию, насколько я знаю, в апаче опция отключена.
проверю вечерком работает ли, с другой стороны это повысит загрузку моего сервера — а он не резиновый, и так под завязку
ну вас можно только поздравить вы получили бы сейчас скорость минимум 1гб в минуту, или 133 mbit/s полезной инфы, учитывая что не более 40%-60% канала реально можно занять полезной инфой, и даже не учитывая время на запросы ДНС, поскольку объем одной страницы сейчас в среднем около 100кб до отрезания всего.

Да, и я хорошо представляю себе счет за перерасход траффика за несоблюдение соглашения по соотношению 1:3 минимум…

Мой потолок — 200 тысяч страниц в час без проверки контента

Супер. Про это можно отдельно написать — будет веселый пересказ Кнута и «Структур данных» :)
если про нормализацию то мысль не ясна. БД остается нормализованой, даже более чем была.

К примеру: у половины форумов primary index в таблицах состоит из нескольких полей, чтобы было удобно было делать JOIN для 10 таблиц туда запихнуты все нужные поля — id юзера, группы, топика, и тд… причем все это чтобы выбрать 1 сообщение к примеру — данного юзера в данном топике, да еще и фотку юзера и тд

однако если сделать один код-CRC или даже несколько и выбирать по нему просто последовательно из 10 таблиц то можно получить ту же инфу в 10 раз быстрее. Просто этот код и стоит сделать PRIMARY INDEX заместо того что было

Я уж не говорю что проще было бы сложить все фотки юзеров по их ID: photos/ID_USER.jpg
и вообще не надо было бы делать лишнюю выборку — если отходить от СУБД немного.

Конечно это если это все касалось пункта 4, и я правильно понял
да, я начинал когда она еще работала. Правда основную инфу искал про гугл. turtle насколько я помню был аналогом рамблера в той версии без ссылочного ранжирования
честных 20 на один порт
больше я не смог заюзать — есть машины и 100 и 1000, все равно не успеваю отрабатывать
согласен, проблема. Избавляюсь — если она встречена больше чем на 10% страниц сайта ее не будет в индексе — блоком одной инфы считаются законченый блок тегов — т.е. ряд в таблице подходит.
Вообще вопрос конечно интересный, но пока что я не встречался с проблемами в выдаче из-за дублей похожих но не одинаковых страниц. Вообще борьба с ними описана у сегаловича — хитрый подсчет нескольких CRC по фрагментам текста.
есть, не спорю. Когда буду запускать полную версию и иметь пару лямов на PR — сделаю чтобы искалось все :)

никак не отсеиваю — в основном пара коэффициентов при поиске — показатели тошноты слов
я Вам минус не ставил — Ваше право высказаться — я просто рассказываю что сделал сам.
У меня в конце статьи написана динамика, я уже не помню где (слишком много комментов) давал свою оценку — десятки терабайт если иметь в виду объем сопоставимый с яндексом (скорее гуглом) — несколько миллиардов страниц в индексе (у яндекса половина страниц из их миллиардов ищется по ссылкам). короче мне осталось раз в 100-500 вырасти.

Это цифры на одну итерацию — надо хранить несколько чтобы процесс индексации шел непрерывно
не будет до тех пор пока не доведу до состояния законченного проекта
Да, про индекс естественно подробно опишу

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity