Adrien Grand
@jpountz
Software engineer at @elastic, Lucene/Solr committer
I enjoyed Berlin Buzzwords very much, always a pleasure to catch up with everyone in person. Here is my talk with @jpountz on shipping Lucene 10: youtu.be/GRhzgCEL_ac?si… .
Someone asked me for my opinion on the Vespa vs. Elasticsearch performance comparison today at Berlin Buzzwords, so I gave it a try: jpountz.github.io/2025/06/17/ana…
I spent some time looking at the Vespa source code to see how it compares with Lucene jpountz.github.io/2025/07/25/mor…
Lucene may soon store HNSW's connections using group varint on deltas between consecutive node IDs: github.com/apache/lucene/…. This seems to give a small but consistent speedup vs. vints which are currently used.
Awesome read on Lucene's implementation of ACORN-1🔥🔥 Filtered vector search is everywhere! Efficient, general-purpose (predicate-agnostic) indices that can support those use cases are super, super powerful!! Try it out & check out our original paper dl.acm.org/doi/10.1145/36…
Elasticsearch / Lucene adopts ACORN-1, which expands the exploration of nodes to ensure enough candidates that meet the filter By @benwtrent elastic.co/search-labs/bl…
Lucene is getting an increasing number of high-quality contributions from ByteDance employees, especially around performance. Good to see that this project keeps attracting contributors from all around the world.
Another common point I did not expect: Vespa's strict vs. unstrict iterators is quite similar to Lucene's two-phase iteration. And both projects use this feature to effectively combine dynamic pruning with filtering (a hard and underappreciated problem IMO).
.@_andreidan kindly captured pictures of @lucacavanna and I telling the story of how the Lucene 10 release went

Via @rcmuir: Linux 6.15 introduced a big speedup for Lucene on AMD processors benchmarks.mikemccandless.com/FilteredOrHigh… (last data point, not annotated yet) thanks to faster TLB invalidation phoronix.com/review/amd-inv…
Lucene is getting faster at deep search by switching to a more efficient heap implementation to collect top hits. github.com/apache/lucene/…
A nice optimization landed on the hash table that Lucene uses to build inverted indexes: github.com/apache/lucene/…. Some previously unused bits are now used to cache hash codes, effectively making collisions cheaper to resolve.
Several weeks ago, I put the R-in RAG with @HamelHusain by discussing hybrid search best practices. Next up we put the F(ilter) in HNSW to build hybrid search. Which doesn't quite fit... but @benwtrent and I are not intimidated by such trivialities maven.com/p/430592/hybri…
There has been a big regression in Lucene's nightly benchmarks recently after a kernel upgrade. @mikemccand and @rcmuir found that it was caused by a change in the Linux scheduler configuration. github.com/apache/lucene/…