@dark_spectator

Хранение данных в ElasticSearch?

Использую ElasticSearch как основное хранилище данных. Вопрос с том как хранить в нем дополнительную информацию о пользователе.
В данный момент есть 2 индексов
socket-apps-db : {
   users: {
      "user_id" : {
         "login" : "user_login",
         "email": "user_email",
         "password" : "user_password",
      }
   }
}

socket-apps-{game_name}-cloud : { // {game_name} - Название игры, для которой облако

  "data" : {
  "user_id" : {
    "level" : 5,
    "cloud": "{cloud_data}"
}
}

}


еще планирую так-же хранить друзей пользователя и сообщения, для каждого диалога отдельный индекс, для списка друзей пользователя тоже. ID хранятся в Redis.

Вопрос в том правильно ли я всё делаю?
Желательно в 1 индексе создавать несколько типов для этих вещей, но ElasticSearch говорит что только 1 тип на индекс.
Или как вообще реализовывать подобную структуру и какие базы/инструменты использовать?
  • Вопрос задан
  • 359 просмотров
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Не надо хранить там основную базу - это поисковая машина, а не нормальная база в конце-концов) она для этого не подходит. Но если вам приспичило то относитесь к ней как как документ-ориентированной
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы