55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
@startuml
|
||
mainframe api/v1/filters Общая схема
|
||
Actor user
|
||
participant BackendSite
|
||
participant Sherlock
|
||
Database ElasticSearch
|
||
|
||
user -> BackendSite: Вводит запрос в поисковую строку
|
||
BackendSite -> BackendSite: Обработка запроса на бэкенде\n сайта и формирование запроса\nдля Sherlock
|
||
|
||
BackendSite -> Sherlock: REST POST api/v1/filters
|
||
Sherlock -> Sherlock: Преобразование запроса\nв структуру и формирование\nзапроса для ElasticSearch
|
||
|
||
note over Sherlock
|
||
Отправка запроса в
|
||
ElasticSearch с доп
|
||
сортировкой по категориям
|
||
из Спектра
|
||
endnote
|
||
|
||
|
||
alt ElasticSearch ничего не вернул
|
||
Sherlock -> ElasticSearch: REST GET products/_search
|
||
ElasticSearch --> Sherlock: Получен пустой ответ
|
||
|
||
note over Sherlock
|
||
Отправляется доп.запрос
|
||
в ElasticSearch с меньшим
|
||
процентом вхождения
|
||
endnote
|
||
|
||
Sherlock -> ElasticSearch: REST GET products/_search
|
||
ElasticSearch --> Sherlock: Получен пустой ответ
|
||
Sherlock --> BackendSite: Получен пустой ответ
|
||
Sherlock --> user: Пользователь получает страницу:\nРезультаты не найдены
|
||
|
||
else Найдены товары
|
||
alt Есть товары спектр
|
||
Sherlock -> ElasticSearch: REST GET products/_search
|
||
note over ElasticSearch
|
||
Категории спектр
|
||
поднимаются наверх
|
||
endnote
|
||
else Товаров спектр не найдено
|
||
Sherlock -> ElasticSearch: REST GET products/_search
|
||
end
|
||
|
||
ElasticSearch --> Sherlock: Передает список\nкатегорий и фильтров
|
||
|
||
Sherlock --> BackendSite: Список категорий и фильтров
|
||
|
||
BackendSite --> user: Пользователь получает фильтры\nна странице: Результаты поиска
|
||
|
||
end
|
||
@enduml |