Поисковый движок, представляющий из себя Spring-приложение (JAR-файл, запускаемый на любом сервере или компьютере), работающее с локально установленной базой данных.
Серверная часть приложения написана с ипользованием Java SDK 22. В целях упрощения настройки и развертывания приложения, в проекте задействованы возможности Spring Boot. Для хранения условно постоянных данных и организации быстрого к ним доступа используется сервер СУБД MySQL. Решение задач объектно-реляционного отображения реализовано с помощью библиотеки Hibernate. Сборка проекта произодится посредством набора инструментов Apache Maven.
В состав зависимостей входят библиотеки лемматизаторы Apache Lucene.
Для успешного скачивания из GitHub и подключения данных библиотек к проекту
необходимо настроить Maven конфигурацию в файле settings.xml.
Так как для доступа требуется авторизации по токену для получения данных из
публичного репозитория, для указания токена, найдите файл settings.xml.
- В Windows он располагается в директории
C:/Users/<Имя вашего пользователя>/.m2 - В Linux директория
/home/<Имя вашего пользователя>/.m2 - В macOs по адресу
/Users/<Имя вашего пользователя>/.m2
и добавьте внутри тега settings текст конфигурации:
<servers>
<server>
<id>skillbox-gitlab</id>
<password>token</password>>
</server>
</servers>После этого, в проекте обновите зависимости (Ctrl+Shift+O / ⌘⇧I) или принудительно обновите данные из pom.xml.
В проект добавлен драйвер для подключения к БД MySQL. Для запуска проекта, убедитесь, что у вас запущен сервер MySQL и на сервере создана база данных search_engine.
🐳 Если у вас установлен докер, можете запустить контейнер с готовыми настройками под проект командой:
docker run -d --name=searchEngine -e="MYSQL_ROOT_PASSWORD=123456" -e="MYSQL_DATABASE=search_engine" -p3306:3306 mysqlИмя пользователя по-умолчанию root, настройки проекта в src/resources/application.yaml
соответствуют настройкам контейнера, менять их не требуется.
Если используете MySQL без докера, то создайте бд lemma и замените логин и пароль
в файле конфигурации src/resources/application.yaml:
spring:
datasource:
username: root # имя пользователя
password: "123456" # пароль пользователя