Initial commit

This commit is contained in:
Andrey
2024-04-08 19:15:50 +03:00
commit 072ced2815
51 changed files with 2926 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
@startuml
mainframe api/v1/autocomplete Общая схема
Actor user
participant BackendSite
participant Sherlock
Database ElasticSearch
user -> BackendSite: Вводит запрос в поисковую строку
BackendSite -> BackendSite: Обработка запроса на бэкенде\n сайта и формирование запроса\nдля Sherlock
BackendSite -> Sherlock: REST POST api/v1/autocomplete
Sherlock -> Sherlock: Перевод запроса\nна второй язык
Sherlock -> Sherlock: Преобразование запроса\n в структуру и формирование\nзапроса для ElasticSearch
note over Sherlock
Отправка запроса в
ElasticSearch с доп
сортировкой по категориям
из Спектра
endnote
alt ElasticSearch ничего не вернул
Sherlock -> ElasticSearch: 8 запросов в 4 индекса: manufacturers,\ntagpage, categories, products на двух языках (RU, EN)
ElasticSearch --> Sherlock: Получен пустой ответ со всех 8-и запросов
note over Sherlock
Отправляются доп.запрос
в ElasticSearch с меньшим
процентом вхождения
endnote
Sherlock -> ElasticSearch: 8 запросов в 4 индекса: manufacturers,\ntagpage, categories, products на двух языках (RU, EN)
ElasticSearch --> Sherlock: Получен пустой ответ со всех 8-и запросов
Sherlock --> BackendSite: Получен пустой ответ
Sherlock --> user: Пользователь получает страницу:\nРезультаты не найдены
else Найдены товары
alt Есть товары спектр
note over ElasticSearch
ЕСЛИ хоть один из четырех индексов
отдал ответ, ТО он отдается на бэкенд
endnote
Sherlock -> ElasticSearch: 8 запросов в 4 индекса: manufacturers,\ntagpage, categories, products на двух языках (RU, EN)
note over ElasticSearch
Категории спектр поднимаются
наверх И товары внутри них
сортируются по скорингу
endnote
else Товаров спектр не найдено
Sherlock -> ElasticSearch: 8 запросов в 4 индекса: manufacturers,\ntagpage, categories, products на двух языках (RU, EN)
note over ElasticSearch
Товары сортируются
по скорингу
endnote
end
ElasticSearch --> Sherlock: Передает отсортированный\nсписок товаров
Sherlock --> BackendSite: Список товаров
BackendSite --> user: Пользователь получает страницу:\nРезультаты поиска
end
@enduml