Gally Business Logic ELASTICSEARCH PUT “Catalog” { "code": "pespi", }, PUT “Locale” { “code”: “en_US”, “catalog: “pepsi” } PUT “Entity” { “code”: “product”, } PUT “Field” { "code": "name", "label": "Product Name", "type": "string", "entity": "product" }, Persist catalog/locale in DB Persist entities in DB Persist fields configuration in DB Generate the Elasticsearch mapping according to each : - field type - catalog locale Create the needed indices