Запуск (работает http://localhost:8000/):
mvn compile
mvn exec:java -Dexec.mainClass="hh.homework.search.Main"
Написать in-memory поисковый индекс, в котором хранятся документы вида {id:"...", text:"..."}. Текст должен храниться только в инвертирванном виде, поиск по id не нужен. Приложение должно быть написано на java и представлять собой http-сервис со следующими запросами:
- GET /search?query=???&logic=???&count=???
параметры: query - запрос, ключевые слова в котором разделены с помощью whitespace logic - логика объединения слов: and или or (по умолчанию or) count - максимальное количество результатов
поиск по документам: должен отдавать json с id документов, которые отсортированы по релевантности
- POST /index
в теле POST запроса находится json вида {id:"...", text:"..."}.
Документы ранжируются с помощью tf-idf. Приложение должно уметь фильтровать stop-слова и прогонять термы через стемминг. Стемминг писать не нужно, достаточно взять какой-нибудь бесплатный, подерживающий русский и английский языки.