Мне не удалось "работать с Google на интернет-машине".Я пытаюсь определить лучший способ индексировать коллекцию событий.Ниже представлена модель, которую я представлял, с целью анализа слабо связанных событий, происходящих в течение определенного промежутка времени.
Проект будет построен с использованием spring-data-mongodb.
abstract class Event {
String id;
Instant evtTimstamp;
Object miscData;
String primaryKeyType; /* Eg. "houseId", "carId", "humanId", "streetId", "storeId" */
@Indexed int[] primaryKeys;
KeyType secondaryKeyType; /* Secondary indexing to associate event with two indexed objects */
@Indexed int[] secondaryKeys;
}
class HouseEvt extends Event {
String streetAddress;
String dwellingType;
}
class CarEvt extends Event {
String make;
String model;
String directionOfTravel;
byte speed;
}
class StreetEvt extends Event {
byte speedLimit;
}
class HumanEvt extends Event {
byte age;
boolean hadCoffee:
boolean married;
}
class StoreEvt extends Event {
} , etc.
Несколько сценариев теоретического анализа:
- Сколько автомобилей отправляется в магазин N ((через улицу M) в течение промежутка времени?
- Сколько домов имеют две машины, прибывающие более одного раза в день?
- Какие люди ездят на автомобиле X или автомобиле Y?
- Какие людиперейти в Store Z?
Я надеюсь, что буду иметь возможность добавлять новые подклассы событий по мере необходимости.Я мог бы дать каждому подклассу свои собственные атрибуты ключа, но я не уверен, что это произойдет из-за индексации, я предполагаю, что мне нужно будет добавить новый индекс для каждого ключа нового подкласса, еслиЯ это сделал.Я думал, что моя концепция keyType может помочь в будущем модели.
MTIA!