Skip to content

yandex-qatools/camelot-yandexer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yandexer

Приложение для получения количества результатов по поисковому запросу из Яндекса. На вход поступает поисковый запрос, который поступает в очередь ActiveMQ. Из очереди задания выполняются с использованием PhantomJS, а затем результат выполнения (число результатов поиска) сохраняется в базу данных (PostgreSQL).

Для сборки приложения требуются:

  • JDK >= 1.7
  • Maven >= 3.2

Чтобы собрать проект нужно:

1. Склонировать проект

git clone https://github.com/yandex-qatools/camelot-yandexer.git

2. Составить конфигурационный файл yandexer.properties:

  • 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: конфигурационный файл должен находиться в корне проекта

3. Собрать проект. Для этого следует выполнить команду

mvn clean compile

4. Запустить проект. Для запуска приложения требуется:

  • PhantomJS >= 1.9.0 (должен быть установлен в системе)
  • PostgeSQL 9 (должен быть доступен с использованием конфигурации из п.2)
  • ActiveMQ (должен быть доступен с использованием конфигурации из п.2)

Далее следует выполнить следующую команду

export MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx2048m -Xbootclasspath/a:."
mvn clean compile camelot-test:run

5. Открыть http://localhost:8080/camelot в браузере.

Дальше следует добавить виджет Collector на дашбоард.

Теперь можно поискать что-нибудь используя виджет. Количество найденых в Яндексе результатов отобразится ниже.

6. Эти данные сохраняются в базу данных в таблицу results

API

Приложение может быть использовано без интерфейса. Для этого существует REST-API, который принимает на вход задания на поиск:

/search?key={ЗАПРОС} - добавление задания на поиск

Проверка работоспособности приложения

  • При запуске приложения в консоли не должно быть ошибок
  • Должна открываться страница http://localhost:18082/camelot
  • На вкладке Dashboard должен быть доступен виджет Collector
  • На вкладе Plugins должно быть дерево плагинов (fetcher -> collector -> result-saver)
  • После добавления задания на поиск в логе сервера не должно быть ошибок
  • После выполнения поиска в БД должны появиться результаты поиска в таблице results

Releases

No releases published

Packages

No packages published

Languages

  • Java 92.0%
  • JavaScript 8.0%