Использую 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 тип на индекс.
Или как вообще реализовывать подобную структуру и какие базы/инструменты использовать?