Как сохранить базу данных Star-Model в поиске Elastic - PullRequest
0 голосов
/ 04 апреля 2019

Я - полный NooB в упругом Поиске, и я исследовал в интернете, как хранить очень связанные таблицы с упругим поиском, но это довольно запутанно, вот моя проблема,

У меня приблизительно 16 таблиц (однатаблица фактов, а другая - таблицы измерений), я мог бы сделать запрос SQL, где я объединяю всю таблицу в массив длинных строк, содержащих все поля и отображая его в виде Json, но будет множество дублированных полей,

Например, таблица измерений A "содержит 3 человека: p1, p2, p3", а таблица фактов содержит более 1000 строк (для примеров), и все эти строки имеют внешние ключи / ссылки на эти 3 человека,

Так, каков идеальный способ ее хранения?

помещение каждой таблицы в другой индекс или категорию или встраивание всего в один объект в строке?

Заранее спасибо

1 Ответ

0 голосов
/ 04 апреля 2019

facts может формировать индекс с денормализованным полем dimension. И создать отдельный индекс для dimensions.


PUT /dimension_1/1
{
  "name": "John Smith" 
}
PUT /dimension_2/1
{
  "name": "John Doe" 
}
...



PUT /facts/1
{
  "title":    "facts",
  "name":     "p1",
  "dimension_1":     {
    "id":       1,
    "name":     "John Smith" 
  },
  "dimension_2":     {
    "id":       1,
    "name":     "John Doe" 
  }
...
}

См https://www.elastic.co/guide/en/elasticsearch/guide/master/denormalization.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...