У меня есть некоторые данные, которые я буду помещать в Elasticsearch, и я хочу выбрать формат, который оптимизирует производительность запросов. Запрос будет в словах: «Идентификатор X в категории Y?». У меня есть фиксированное количество категорий (скажем, маленькое, 5) и, возможно, большое количество идентификаторов для каждой категории (в настоящее время их десятки, но неопределенного размера в будущем). Каждый идентификатор будет принадлежать не более одной категории (возможно, ни одной).
Формат 1:
{
"field1": "value1",
...
"categories": {
"category1": ["id10", "id24", "id38",...],
...
"category5": ["id62", "id19", "id82" ...]
}
}
или
Формат 2:
{
"field1": "value1",
...
"categories": {
"id1": "category4",
"id2": "category2",
"id3": "category1",
...
}
}
Какой формат данных будет предпочтительным? Последний формат имеет линейное время поиска, но, возможно, много ключей.