Caching for Speed: Practical Performance Optimization in OpenSearch & Lucene
summary
Shows concrete changes: moving FST off-heap and similar structures to native memory to avoid JVM GC pressure, and refactoring the Lucene query cache into ~16 partitions to remove a global lock and eliminate contention. Benchmarks report up to 7x throughput on read-heavy cases and ~3x mixed gains. Introduces tiered spillover (heap + disk) to expand cache 10–100x, warns against aggregating on analyzed text—use keyword subfield and doc values instead.
AI-written summary · about
chapters (12)
- 0:00Caching in OpenSearch & Lucene
- 1:04Why caching matters
- 4:21Three cache layers
- 8:38Lucene query cache internals
- 14:36Tuning query cache settings
- 16:42Request cache & optimizations
- 18:53Tiered caching architecture
- 20:59Field data cache pitfalls
- 24:31Caching pitfalls & fixes
- 26:37Production cache monitoring
- 28:04Key takeaways
- 28:48Q&A
related talks
40mLeveraging Lucene Skip Indexes for Faster Aggregations in OpenSearch
36mSearch on the fly: how to lighten your Big Data
38mAccelerating Query Performance in CrateDB
18mSpeed Up Your Search: Concurrency and Merge Policies to the Rescue
40mWhat's evolving in Elasticsearch and Lucene?
41mConstant-Time Aggregations with Star-Tree in OpenSearch
41mScaling Search and Powering Vector-Based Retrieval With OpenSea...
04mOpenSearch Performance and Monitoring
