This simple cache strategy will not work. The cache key needs to be invalidated / changed every time any of the segments underlying this particular query has been changed. This should be done at the `CachingClusteredClient` level for two reasons:
- the servlet is not the right place to manage caching concerns, those should be handled at the `CachingClusteredClient` level, which already manages the cache strategy
- the servlet has no knowledge of underlying segments queried and would not be able to invalidate things accordingly

Let's talk offline and I can help you figure those things out.