Code Monkey home page Code Monkey logo

test_task's Introduction

Это очень простой поисковик по текстам документов. Данные хранятся в БД SQLite, поисковый индекс в эластике.

Тестовый массив данных: posts.csv

Структура БД:

  • id - уникальный для каждого документа;
  • rubrics - массив рубрик;
  • text - текст документа;
  • created_date - дата создания документа.

Структура Индекса:

  • iD - id из базы;
  • text - текст из структуры БД.

Методы

  • сервис принимает на вход произвольный текстовый запрос, ищет по тексту документа в индексе и возвращает первые 20 документов со всем полями БД, упорядоченные по дате создания; Формат запроса: http://127.0.0.1:8000/posts/search?text=текст Возвращается массив результатов в виде: [ { "id": int, "text": string, "created_date": string, "rubrics": [string, string, ...] }, ... ]

  • удаляет документ из БД и индекса по полю id. Формат запроса: http://127.0.0.1:8000/posts/delete/0 , где 0 - удаляемый id. Возвращает "Ок", если удаление прошло успешно и 'ID не найден!', если нет.

Запуск:

Запуск контейнера производится скриптом setup.bat, а останавливается скриптом stop.bat Перед первым запуском необходимо включить vpn, так как будет скачиваться образ Elasticsearch 7.17.7.

При замене csv файла после запуска необходимо выполнить 'python write_db.py [НАЗВАНИЕ НОВОГО ФАЙЛА]' в консоли и перезапустить сервис.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.