EventStore сам по себе не особо заботится о том, что фиксируется, а это означает, что он сам не отслеживает отдельные типы событий для каждой фиксации.
Для этого есть несколько причин.Одним из них является простота, а другим - способность поддерживать практически любой механизм хранения.Я хотел сделать дизайн максимально простым, а модель - очень чистой.Кроме того, я хотел избежать чрезмерной нагрузки на базовый механизм хранения, который может или не поддерживать индексацию.Если вы собираетесь запрашивать определенный тип, вы уже предполагаете, что базовый механизм хранения обеспечивает индексацию.Поскольку EventStore не зависит от подсистемы хранения, эти два не смешиваются.
Другое дело, что "commit" - это на самом деле набор из одного или более событий.Когда вы загружаете коммит, вы получаете все события.
Одно из возможных решений - просто загрузить все, начиная с момента времени, а затем игнорировать события, которые вас не интересуют.Другое решение состоит в том, чтобы подписчик прослушивал все сообщения, поступающие из хранилища событий, который (асинхронно / в другом потоке) помещает сообщения в постоянное хранилище с соответствующей индексацией по типу события.Правильный ответ зависит от ваших требований к производительности.