Комментарии 2
У меня вопросы про интеграцию PostgreSQL и ElasticSearch.
А как происходит маппинг полей из эластика в таблицу logging.requests
постреса?
Автоматически или где-то настраивается?
Допустим есть такой формат документов в эластике:
{"positive_registries": [{"name": "Реестр надежных партнеров торгово-промышленной палаты РФ", "membership": false}, {"name": "Реестр победителей президентских грантов", "membership": false}, {"name": "Реестр микрофинансовых организаций", "membership": false}, {"name": "Реестр операторов персональных данных", "membership": false}, {"name": "Реестр туроператоров", "membership": false}], ...}
Можно будет как-то работать с вложенными объектами из массива?
0
Собственно говоря маппинг осуществляется в моменте создания таблицы, т.е. имена колонок в таблице должны в точности соответствовать полям в документе. В моём случае это были:
...
id varchar(36),
"@timestamp" timestamp with time zone,
api varchar(36),
"api-response-time" int,
...
Фрагмент документа
{"_id":"640171b5-****-****-****-b58126cdc736","_type":"_doc","_index":"gravitee-request-2021.06.28","sort":[1624900818020,101272],"subscription":"******-****-****-****-**********","request-content-length":0, ...}
В Вашем случае, скорее всего будет нечто вроде этого:
CREATE TABLE table_name (
"positive_registries" jsonb[],
...
Ну а при select, уже будете работать с массивом json-ов.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Визуализация аналитики APIM Gravitee в Grafana