Initial commit
This commit is contained in:
64
search/Общий процесс products.puml
Normal file
64
search/Общий процесс products.puml
Normal file
@@ -0,0 +1,64 @@
|
||||
@startuml
|
||||
mainframe api/v1/products Общая схема
|
||||
Actor user
|
||||
participant BackendSite
|
||||
participant Sherlock
|
||||
Database ElasticSearch
|
||||
|
||||
user -> BackendSite: Вводит запрос в поисковую строку
|
||||
BackendSite -> BackendSite: Обработка запроса на бэкенде\n сайта и формирование запроса\nдля Sherlock
|
||||
BackendSite -> Sherlock: REST POST api/v1/products
|
||||
Sherlock -> Sherlock: Перевод запроса\nна второй язык
|
||||
Sherlock -> Sherlock: Преобразование запроса\n в структуру и формирование\nзапроса для ElasticSearch
|
||||
|
||||
note over Sherlock
|
||||
Отправка запроса в
|
||||
ElasticSearch с доп
|
||||
сортировкой по категориям
|
||||
из Спектра
|
||||
endnote
|
||||
|
||||
alt ElasticSearch ничего не вернул
|
||||
Sherlock -> ElasticSearch: REST GET products/_search RU
|
||||
Sherlock -> ElasticSearch: REST GET products/_search EN
|
||||
ElasticSearch --> Sherlock: Получен пустой ответ
|
||||
|
||||
note over Sherlock
|
||||
Отправляется доп.запрос
|
||||
в ElasticSearch с меньшим
|
||||
процентом вхождения
|
||||
endnote
|
||||
|
||||
Sherlock -> ElasticSearch: REST GET products/_search RU
|
||||
Sherlock -> ElasticSearch: REST GET products/_search EN
|
||||
ElasticSearch --> Sherlock: Получен пустой ответ
|
||||
Sherlock --> BackendSite: Получен пустой ответ
|
||||
Sherlock --> user: Пользователь получает страницу:\nРезультаты не найдены
|
||||
|
||||
else Найдены товары
|
||||
|
||||
alt Есть товары спектр
|
||||
Sherlock -> ElasticSearch: REST GET products/_search RU
|
||||
Sherlock -> ElasticSearch: REST GET products/_search EN
|
||||
note over ElasticSearch
|
||||
Категории спектр поднимаются
|
||||
наверх И товары внутри них
|
||||
сортируются по скорингу
|
||||
endnote
|
||||
|
||||
else Товаров спектр не найдено
|
||||
|
||||
Sherlock -> ElasticSearch: REST GET products/_search RU
|
||||
Sherlock -> ElasticSearch: REST GET products/_search EN
|
||||
note over ElasticSearch
|
||||
Товары сортируются
|
||||
по скорингу
|
||||
endnote
|
||||
end
|
||||
|
||||
ElasticSearch --> Sherlock: Передает отсортированный\nсписок товаров
|
||||
Sherlock --> BackendSite: Список товаров
|
||||
BackendSite --> user: Пользователь получает страницу:\nРезультаты поиска
|
||||
|
||||
end
|
||||
@enduml
|
||||
Reference in New Issue
Block a user