Files
plantUML/search/Общий процесс autocomplete.puml
2024-05-24 12:17:32 +03:00

68 lines
3.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@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