Предположим, есть индекс с документами, описывающими транспортные средства.
Ваш индекс должен иметь дело с двумя различными типами транспортных средств: мотоцикл и автомобиль.
Какое из следующих сопоставлений лучше с точки зрения производительности?(вложенный требуется для моих целей)
"vehicle": {
"type": "nested",
"properties": {
"car": {
"properties": {
"model": {
"type": "string"
},
"cost": {
"type": "integer"
}
}
},
"motorcycle": {
"properties": {
"model": {
"type": "string"
},
"cost": {
"type": "integer"
}
}
}
}
}
или этот:
"vehicle": {
"type": "nested",
"properties": {
"model": {
"type": "string"
},
"cost": {
"type": "integer"
},
"vehicle_type": {
"type": "string" ### "car", "motorcycle"
}
}
}
Второй является более читабельным и тонким.
Но недостаток, который яУ меня будет то, что, когда я делаю свои запросы, если я хочу сосредоточиться только на «машине», мне нужно поместить это условие как часть запроса.
Если я использую первое отображение, мне просто нужноиметь прямой доступ к сохраненному полю, не добавляя накладных расходов к запросу.