Разработать поисковик

Цена договорная • электронные деньги
23 мая 2017, 10:44 • 7 откликов • 115 просмотров
В кратчайшие сроки, без отклонения по плану, требуется разработать мощный поисковик, способный обрабатывть мин 1000 000 сайтов

Проект разбит на подзадачи, языки и технологии обсуждаются и рассматриваются.
Оплата так же поэтапная.


- MySQL база данных CRAWLER - используется для краулинга (websites - таблица сайтов и дат последнего посещения, corpus - таблица с текстом главных страниц сайтов, контрольными суммами (чтобы не проверять весь текст сайта а лишь обновлять текст если контрольная сумма изменилась), дата обновления, visitors - таблица в которую со сторонних сайтов собирается информация о посещаемости по принципу https://webmasters.stackexchange.com/questions/...)
- Скрипт на Python (с использованием сторонних библиотек, таких как Scrapy), который проходит по таблице Websites, обновляет Corpus и Visitors, и пополняет ту же таблицу Websites. Для начала скрипт работает только с открытыми вебсайтами, не требующими авторизации и выполнения javascript для формирования DOM.
- Скрипт работает обращая внимание на robots.txt сайтов (polite parsing)
- Все вышеуказанное работает локально

----------------------

- Так как простые алгоритмы вроде TF-IDEF позволяют делать лишь базовый поиск не учитывая позицию слов (“Chicago bulls” вернет все про Chicago, все про bulls, а не конкретно про команду Chicago bulls). Реализовывать с нуля полнотекстный поиск с учетом позиций слов (https://books.google.nl/books?id=mhph0FZ9x0MC&pg=P... indexing accounting for word position&f=false) - довольно трудоемкая задача, поэтому следует использовать имеющееся решение для поиска, используемое многими компаниями - Solr (http://lucene.apache.org/solr/). Реализовать индексацию таблицы Corpus с помощью Solr.
Рассматривается также Sphinx
- Все вышеуказанное работает локально

------------------

- Размещение текущей реализации на виртуальный сервер (например DigitalOcean или Amazon EC2)
- Настройка автоматического запуска crawler скрипта
- Настройка автоматической переиндексации Solr
- Очень базовая веб страница, которая позволяет вводить поисковый запрос и получать сортированную выборку на основе Solr
- Все работает онлайн

------------------

- MySQL база данных запросов (queries - таблица где хранится когда какой запрос был выполнен, указатель на ссылку, которая была нажата первой)
- На основе таблицы queries - реализация подсказок при вводе запроса
- Работа над веб страницей поиска и страницей вывода результатов


Пишите ТЕЛЕГРАММ