Initial commit
This commit is contained in:
68
search/Общий процесс autocomplete.puml
Normal file
68
search/Общий процесс autocomplete.puml
Normal 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
|
||||
Reference in New Issue
Block a user