Необходимо написать очень простой поисковик по текстам документов. Данные хранятся в БД по желанию, поисковый индекс в эластике.
- Скопировать все на локалку -
git clone https://github.com/demka-test-tasks/notion_so - Запустить сервис с помощью
docker-compose up -d, подождать, пока postgres и elastic стартанут, fastapi даст ошибку, что нормально - Синхронизировать хранилища с .csv с помощью
python3 converter.pyв utils - Сделать рестарт решения с помощью
docker-compose stop && docker-compose up -d - Проверить, все ли завелось через
docker ps, если не завелось - дайте репорт в issue
- Осуществить поиск по тексту - GET http://127.0.0.1:8000/posts/search?text=привет
- Осуществить удаление по идентификатору - DELETE http://127.0.0.1:8000/posts/delete, в теле JSON вида: {"id" : 93}
Также развернуты контейнеры PgAdmin (host=postgres, password=postgres, user=postgres) и Kibana
Ссылка на тестовый массива данных: [csv]
id- уникальный для каждого документа;rubrics- массив рубрик;text- текст документа;created_date- дата создания документа.
id- id из базы;text- текст из структуры БД.
- сервис должен принимать на вход произвольный текстовый запрос, искать по тексту документа в индексе и возвращать первые 20 документов со всем полями БД, упорядоченные по дате создания;
- удалять документ из БД и индекса по полю
id.
- любой python фреймворк кроме Django и DRF;
READMEс гайдом по поднятию;docs.json- документация к сервису в формате openapi.
- функциональные тесты;
- сервис работает в Docker;
- асинхронные вызовы.