Задать вопрос
@bioforge
Верстающий пыхер

Как правильно хранить документы в Elasticsearch?

Всем привет!

Не могу понять, как правильно хранить и обновлять данные.
Есть несколько объектов связанных друг с другом, например:

Объекты Clients
{
    id: 1,
    name: 'client 1',
    tags: [
        {
            id: 1,
            name: 'tag 1'
        },
        {
            id: 2,
            name: 'tag 2'
        }
    ],
    deals: [
        {
            id: 1,
            name: 'deal 1',
            tags: [
                {
                    id: 1,
                    name: 'tag 1'
                }
            ]
        }
    ]
}


Объекты Deals
[
    {
        id: 1,
        name: 'deal 1',
        tags: [
            {
                id: 1,
                name: 'tag 1'
            }
        ]
    },
    {
        id: 2,
        name: 'deal 2',
        tags: [
            {
                id: 2,
                name: 'tag 2'
            }
        ]
    }
]


Объекты Tags
[
    {
        id: 1,
        name: 'tag 1'
    },
    {
        id: 2,
        name: 'tag 2'
    }
]


Это данные в денормализованном виде, я так понял что в эластик так и отправляют.

Стоит ли хранить в таком виде ?
Насколько гибко можно будет настроить поиск и фильтрацию ?

Как обновлять вложенные объекты если измениться оригинал ? Например, в объекте tag с id = 1 изменилось поле name на 'tag 3'. Можно ли силами эластика найти и поменять данный объект в других объектах ?
  • Вопрос задан
  • 683 просмотра
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
по первой части не прокомментирую, но что-то мне подсказывает, что не стоит тянуть в NoSQL логику из SQL.
по обновлению - да, обновить а не добавить запись можно, необходимо сделать в индексе уникальное поле. им может быть любое поле - при совпадении значения в этом поле у "вставляемой" и существующей записи существующая обновится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы