Простой поисковый движок, реализующий индексирование сайтов, морфологический разбор и полнотекстовый поиск с подсветкой сниппетов.
- Полнотекстовый поиск с лемматизацией
- Генерация сниппетов с контекстом запроса
- Индексация сайтов и сбор статистики
- REST API для поиска и статистики
- Веб-интерфейс на Thymeleaf
- Spring Boot (2.7.1) + MySQL
Все зависимости указаны в pom.xml.
Дополнительные зависимости для морфологии (лемматизации) нужно загрузить вручную:
📥 Скачать зависимости морфологии с Яндекс.Диска
Проект содержит:
- Unit-тесты (
SnippetFormatterTest) - Интеграционные тесты:
SearchServiceImplTestStatisticsServiceImplTestSiteRepositoryTestSearchControllerTest(черезMockMvc)
Отчёты о покрытии кода генерируются через JaCoCo:
mvn clean test
mvn clean package -DskipTests
docker build -t search_engine .
docker run -d -p 8080:8080 search_engine
Архитектура проекта:
