Optimizing Lucene caching: A solution to lock contention