Приложение для получения количества результатов по поисковому запросу из Яндекса. На вход поступает поисковый запрос, который поступает в очередь ActiveMQ. Из очереди задания выполняются с использованием PhantomJS, а затем результат выполнения (число результатов поиска) сохраняется в базу данных (PostgreSQL).
Для сборки приложения требуются:
- JDK >= 1.7
- Maven >= 3.2
Чтобы собрать проект нужно:
git clone https://github.com/yandex-qatools/camelot-yandexer.git
- jms.broker.list - список брокеров, например
(tcp://localhost:61616)?randomize=false&priorityBackup=true
- yandexer.jdbc.url - URL-адрес подключения к базе данных, например
jdbc:postgresql://localhost:5432/postgres
- yandexer.jdbc.user - имя пользователя базы данных
- yandexer.jdbc.password - пароль пользователя базы данных
PS: конфигурационный файл должен находиться в корне проекта
mvn clean compile
- PhantomJS >= 1.9.0 (должен быть установлен в системе)
- PostgeSQL 9 (должен быть доступен с использованием конфигурации из п.2)
- ActiveMQ (должен быть доступен с использованием конфигурации из п.2)
Далее следует выполнить следующую команду
export MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx2048m -Xbootclasspath/a:."
mvn clean compile camelot-test:run
Дальше следует добавить виджет Collector на дашбоард.
Теперь можно поискать что-нибудь используя виджет. Количество найденых в Яндексе результатов отобразится ниже.
Приложение может быть использовано без интерфейса. Для этого существует REST-API, который принимает на вход задания на поиск:
/search?key={ЗАПРОС}
- добавление задания на поиск
- При запуске приложения в консоли не должно быть ошибок
- Должна открываться страница http://localhost:18082/camelot
- На вкладке Dashboard должен быть доступен виджет Collector
- На вкладе Plugins должно быть дерево плагинов (fetcher -> collector -> result-saver)
- После добавления задания на поиск в логе сервера не должно быть ошибок
- После выполнения поиска в БД должны появиться результаты поиска в таблице results