Interesting architecture for sure to create a partial index every time a user creates a new event. One question I have that wasn't clear: how fast is that event queryable by the user after it is created? It sounds like there is a redis queue that manages the creation of the indexes and I imagine that takes some time to work through.