Мы строим хранилище данных о событиях на вершине эластичного поиска. Наша цель - предоставить аналитику в реальном времени с расширенной сегментацией поверх пользователей и событий. Наши организации
пользователей или посетителей
События (которые выполняются пользователями, которые будут выше 100 - 1000)
Пример:
{
"first_name": "John",
"email": "john@es.com",
"country": "US",
"user_id": 100
}
{
"event_name": "Add To Cart",
"user_id": 100,
"product_name": "IPhone X"
}
Я пробовал 2 варианта
Вложенные документы , проблема в том, что пользовательские атрибуты не будут часто изменяться. Но события будут проводиться очень часто. Допустим, пользователь выполнит более 1000 событий, поэтому один и тот же документ будет обновляться более 1000 раз.
Отношения между родителями и детьми , не удовлетворяющие сегментации
Возможные запросы:
Дайте мне идентификаторы пользователя, который находится в США и выполнил "Добавить в корзину", а название продукта - "iPhone X".
С вложенными документами это работает хорошо. Но родитель-ребенок, я не смог выполнить поиск по родителю и ребенку одновременно.