Микросервис indexer
Микросервис indexer служит для управления индексацией и добавления документов в поисковый движок.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса используется сущностьProductDocumentDto, которая содержит информацию о продукте (идентификатор, цена, доступность на складе, медиа ассеты, описание, и др.).
Аутентификация
При обращении к сервису аутентификация не нужна.
Service context path
/api/indexer/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm",
"KAFKA_BROKER_ADDRESS": "сокет_для_брокера_kafka"
}
}
{
"env": {
"LOGGING_LEVEL": "уровень_логирования",
"SEARCH_ENGINE_URL": "url_доступа_к_поисковому_движку"
}
}
Методы микросервиса
Работа с документами для поискового движка
- Обновление или добавление (если такого документа в БД еще нет) документа (сущности ProductDocumentDto) в поисковом движке - PUT запрос, /v1/documents
Отсутствуют.
{
"id": "8289148DC",
"productId": ""8289148DC",
"catalogId": "c1000001DC",
"name": "Футболка мужская",
"title": "Футболка мужская",
"description": "Очень хорошая мужская футболка.",
"longDescription": "Очень хорошая мужская футболка. Отлично подойдет на лето.",
"assets": [
{
"id": "262fc4d6-6414-4efb-ae17-9da53e643976",
"media": {
"url": "master/catalog/images/1727080928887-1882559365.jpg",
"absoluteUrl": "https://ecom-media.digitalchief.tech/master/catalog/images/1727080928887-1882559365.jpg",
"name": "VdCSfnclhGUQPbxf38uNw.jpg",
"type": "PHOTO",
"size": 89975,
"resolution": "500x500 px"
},
"title": "VdCSfnclhGUQPbxf38uNw",
"altAttr": "Майка",
"description": "Майка",
"sign": "",
"tags": [
""
]
}
],
"type": "string",
"attributeValues": {
"additionalProp1": {
"id": "black",
"name": "Черный"
},
"additionalProp2": {
"id": "black",
"name": "Черный"
},
"additionalProp3": {
"id": "black",
"name": "Черный"
}
},
"categories": {
"additionalProp1": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
},
"additionalProp2": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
},
"additionalProp3": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
}
},
"prices": "{f74b2e3d-53e4-4370-afdd-146488a88f6e=8.0,b9bf6563-783e-4127-a38f-00b266c6ba48=10.0}",
"stockStatus": "IN_STOCK"
}
204 - операция выполнена успешно, документ обновлен или добавлен
- Добавление документа (сущности ProductDocumentDto) в поисковый движок - POST запрос, /v1/documents
Отсутствуют.
{
"id": "8289148DC",
"productId": ""8289148DC",
"catalogId": "c1000001DC",
"name": "Футболка мужская",
"title": "Футболка мужская",
"description": "Очень хорошая мужская футболка.",
"longDescription": "Очень хорошая мужская футболка. Отлично подойдет на лето.",
"assets": [
{
"id": "262fc4d6-6414-4efb-ae17-9da53e643976",
"media": {
"url": "master/catalog/images/1727080928887-1882559365.jpg",
"absoluteUrl": "https://ecom-media.digitalchief.tech/master/catalog/images/1727080928887-1882559365.jpg",
"name": "VdCSfnclhGUQPbxf38uNw.jpg",
"type": "PHOTO",
"size": 89975,
"resolution": "500x500 px"
},
"title": "VdCSfnclhGUQPbxf38uNw",
"altAttr": "Майка",
"description": "Майка",
"sign": "",
"tags": [
""
]
}
],
"type": "string",
"attributeValues": {
"additionalProp1": {
"id": "black",
"name": "Черный"
},
"additionalProp2": {
"id": "black",
"name": "Черный"
},
"additionalProp3": {
"id": "black",
"name": "Черный"
}
},
"categories": {
"additionalProp1": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
},
"additionalProp2": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
},
"additionalProp3": {
"id": "c001",
"name": "Одежда",
"parentId": "c002",
"level": 0
}
},
"prices": "{f74b2e3d-53e4-4370-afdd-146488a88f6e=8.0,b9bf6563-783e-4127-a38f-00b266c6ba48=10.0}",
"stockStatus": "IN_STOCK"
}
201 - операция успешно выполнена, документ индексирован
- Удаление документа (сущности ProductDocumentDto) из поискового движка - DELETE запрос, /v1/documents/{id}
id - path-параметр, обязательный: уникальный идентификатор документа
Отсутствует. В ответе приходит только код операции, например, 204.
204 - операция выполнена успешно, документ удален из индекса
Работа с индексацией
- Запуск полной индексации каталога - POST запрос, /v1/index/perform-baseline
Отсутствуют.
Отсутствует.
202 - операция выполнена успешно, индексация выполнена
- Удаление сценария индексации по его названию - DELETE запрос, /v1/index/{indexName}
indexName - path-параметр, обязательный: название сценария ндексации
Отсутствует. В ответе приходит только код операции, например, 202.
202 - операция по удалению сценария индексации выполнена успешно