У меня есть коллекция геопространственных и временных данных с несколькими дополнительными свойствами, которые я буду отображать на карте. На данный момент коллекция насчитывает несколько миллионов документов и со временем будет расти.
Каждый документ имеет следующие поля:
- Местоположение: [объект geojson]
- Дата: [Объект даты]
- Уровень масштабирования: [int32]
- EntryType: [Идентификатор объекта]
Мне нужно иметь возможность быстро запрашивать эту коллекцию по любой комбинации местоположения (обычно это геовнутренний запрос), даты (обычно $gte/$lt), ZoomLevel и EntryType.
Мне интересно: должен ли я сделать составной индекс, содержащий все четыре поля, или один индекс для каждого поля, или какую-то их комбинацию? Я прочитал в документах MongoDB следующее:
Для составного индекса, который включает ключ индекса 2dsphere вместе с ключами других типов, только поле индекса 2dsphere определяет, ссылается ли индекс на документ.
... Звучит так, как будто наличие индекса 2dsphere для местоположения как части составного индекса может быть бессмысленным?
Любая ясность по этому вопросу будет высоко оценена.