Гигабазаданных МКАДб (не путать с МКАД)— это проект, написанный на языке Rust, представляющий собой высокоскоростной сервер, предназначенный для поиска заметок по ключевым словам с поразительной быстротой. Его цель — обеспечить невероятно быстрый и эффективный поиск в огромных объемах данных. Проект разрабатывается, как средство для нахождения связей между заметками в плагине intellivault. Автором сей прекрасной бд является intbyte.
Вот документация к данному проекту:
1. Связывание ключевых слов с файлом
- Метод:
POST
- URL:
/add_keywords
- Формат:
application/json
- Тело запроса:
- Описание: Этот эндпоинт связывает файл с заданными ключевыми словами. После выполнения запроса файл будет ассоциирован с ключевыми словами в базе данных, что позволит легко искать файлы по этим ключевым словам в будущем.
- Параметры:
name
: Имя файла, с которым нужно связать ключевые слова.keywords
: Массив ключевых слов, которые будут ассоциированы с файлом.
- Ответ: Не возвращает данных (HTTP 204 - No Content).
2. Получение ключевых слов по имени файла
- Метод:
GET
- URL:
/get_keywords/<name>
- Описание: Этот эндпоинт возвращает список ключевых слов, ассоциированных с файлом по имени.
- Параметры:
name
: Имя файла, для которого нужно получить ключевые слова.
- Ответ:
- Примечание: Если файл не найден, возвращается ошибка (HTTP 404 - Not Found).
3. Удаление файла
- Метод:
POST
- URL:
/remove_file/<name>
- Описание: Этот эндпоинт удаляет файл и все связанные с ним ключевые слова из базы данных.
- Параметры:
name
: Имя файла, который нужно удалить.
- Ответ: Не возвращает данных (HTTP 204 - No Content).
4. Получение файлов по ключевым словам
- Метод:
GET
- URL:
/get_files_by_keywords
- Описание: Этот эндпоинт позволяет получить список файлов, соответствующих заданным ключевым словам. Файлы сортируются в зависимости от количества совпавших ключевых слов.
- Параметры:
keywords
: Массив строк с ключевыми словами для поиска.rules
: Правила для поиска.take_first
: Количество файлов, которые нужно вернуть (целое число).sorting_type
: Тип сортировки:Downgrade
: Сортировка файлов по убыванию количества совпавших ключевых слов.Upgrade
: Сортировка файлов по возрастанию количества совпавших ключевых слов.Random
: Сортировка файлов случайным образом.
minimum_threshold
: Минимальное количество совпавших ключевых слов, начиная с которого файл будет включен в выборку.
- Ответ:
- Примечание: Если не найдены файлы, соответствующие запросу, возвращается пустой массив.
5. Сохранение резюме в файл
- Метод:
POST
- URL:
/save_summary
- Описание: Этот эндпоинт сохраняет резюме в файл с заданным именем.
- Параметры:
name
: Имя файла, в который будет сохранено резюме.text
: Текст резюме, который нужно сохранить.
- Ответ: Не возвращает данных (HTTP 204 - No Content).
6. Получение резюме из файла
- Метод:
GET
- URL:
/get_summary
- Описание: Этот эндпоинт позволяет получить текст резюме из файла по имени.
- Параметры:
name
: Имя файла, из которого нужно получить резюме.
- Ответ:
- Примечание: Если файл не найден, возвращается ошибка (HTTP 404 - Not Found).
Структуры данных:
SortingType
- Описание: Тип сортировки для поиска файлов по ключевым словам.
- Значения:
Downgrade
: Сортировка файлов по убыванию количества совпавших ключевых слов.Upgrade
: Сортировка файлов по возрастанию количества совпавших ключевых слов.Random
: Сортировка файлов случайным образом.
KeywordsMatcher
- Описание: Структура для передачи информации о ключевых словах и правилах поиска.
- Поля:
keywords
: Массив строк, представляющих ключевые слова для поиска.rules
: Правила для поиска, включающие параметры сортировки и минимальные пороги.
MatcherRules
- Описание: Правила для поиска файлов по ключевым словам.
- Поля:
take_first
: Количество файлов, которые нужно вернуть.sorting_type
: Тип сортировки (см.SortingType
).minimum_threshold
: Минимальное количество совпавших ключевых слов, начиная с которого файл попадет в выборку.
FileKeywords
- Описание: Структура, описывающая файл и его ассоциированные ключевые слова.
- Поля:
name
: Имя файла.keywords
: Массив ключевых слов, ассоциированных с файлом.