Всем привет!
Вопрос №1 - Можно ли как-то связывать вложенные объекты с документами в другом индексе или типе ?
Например:
Объекты 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"
}
]
Вопрос №2 - Можно ли обновлять вложенные объекты если измениться оригинал ? Например, в объекте tag с id = 1 изменилось поле name на "tag 3". Можно ли силами эластика найти и поменять данный объект в других объектах ?
Вопрос №3 - Если я верно понял, то не может быть у полей в одном индексе с одинаковыми названиями разные типы данных. Но что делать если во вложенных объектах встретилось поле с другим типом данных ?
Например:
{
"deal_id": "1",
"client": {
"id": "2",
"type": "0"
},
"type": {
"id": 3,
"name": "Тип 1"
}
}
client.type и type - абсолютно разные поля и друг с другом они не связаны, просто их так назвали.
Вопрос №4 - Сейчас сделано так что для каждого пользователя создаётся свой индекс, а в нём все уже все доступные типы(clients, deals, tags). У каждого могу быть абсолютно разные поля и разными типами данных, как в вопросе №3. Насколько верно так делать ?
Вопрос №5 - Влияет ли кол-во и размер индексов на поиск, индексацию, переиндексацию ?
Заранее благодарю за ответы.
PS. Извиняюсь что задал столько вопросов в одном посте, но они связаны между собой.