Поисковый движок по сайтам, использующий фреймворк Spring. Позволяет индексировать страницы сайтов указанных в конфигурации проекта (application.yaml) и осуществлять по ним быстрый поиск.
После запуска проекта, по адресу http://localhost:8080/ станет доступен веб-интерфейс. Он представляет собой одну веб-страницу с тремя вкладками:
Эта вкладка открывается по умолчанию. На ней отображается общая статистика по всем сайтам, а также детальная статистика и статус по каждому из сайтов.
На этой вкладке находятся инструменты управления поисковым движком — запуск и остановка полной индексации (переиндексации), а также возможность добавить (обновить) отдельную страницу по ссылке:
Эта страница предназначена для тестирования поискового движка. На ней находится поле поиска, выпадающий список с выбором сайта для поиска, а при нажатии на кнопку «Найти» выводятся результаты поиска:
- Spring
- JSOUP
- Russian Morphology for Apache Lucene (в проекте используются сгенерированные JAR библиотеки леммитизации из Maven репозитория https://gitlab.skillbox.ru/)
- Maven
- Java 17 или выше
- Maven 3.8 или выше
- MySql 8 или выше
Перед запуском проекта убедитесь, что Maven установлен правильно командой mvn -v, добавьте путь к каталогу bin в переменную окружения path. Настройте Application.yaml, указав путь к базе данных и логин с паролем.
spring:
datasource:
username: YOUR_LOGIN
password: YOUR_PASSWORD
url: jdbc:mysql://localhost:3306/search_engine?useSSL=false&requireSSL=false&allowPublicKeyRetrieval=true
Клонировать проект: git clone https://github.com/gvinogradov/searchengine.git
Соберите проект с помощью Maven. Выполните команду в папке с проектом: mvn -U clean package
Запустите проект командой: java -jar SearchEngine-1.0-SNAPSHOT.jar
(application.yaml должен быть в этой же папке)
Запустите файл run.sh, командой bash run.sh (Она автоматически соберет проект с помощью maven, сбилдит проект в image и запустит сервер базы данных вместе с линком проекта.