OpenSearch Lucene Study Group Meeting - Monday, April 1st, 2024

There’s a pretty long list of Lucene changes this week.

Combined with the changes from last week that we didn’t review, I think this week will mostly focus on changelog review.

VersionCategoryDescriptionLink
Lucene 10.0.0API ChangesConvert IOContext, MergeInfo, and FlushInfo to record classes.https://github.com/apache/lucene/issues/13205
Lucene 10.0.0API ChangesThe `readOnce`, `load` and `random` flags on `IOContext` have been replaced with a new `ReadAdvice` enum.https://github.com/apache/lucene/issues/13219
Lucene 10.0.0API ChangesReplace `IOContext.READ` with `IOContext.DEFAULT`.https://github.com/apache/lucene/issues/13242
Lucene 10.0.0New FeaturesAdd RomanianNormalizationFilterhttps://github.com/apache/lucene/issues/13233
Lucene 10.0.0ImprovementsUpgrade snowball to 26db1ab9.https://github.com/apache/lucene/issues/13209
Lucene 10.0.0ImprovementsUpdate Romanian stopwords list to include the modern unicode forms.https://github.com/apache/lucene/issues/12172
Lucene 10.0.0Changes in Backwards Compatibility PolicyRemove the Kp and Lovins snowball algorithms which are not supported or intended for general use.https://github.com/apache/lucene/issues/13230
Lucene 9.11.0New FeaturesAdd support for posix_madvise to MMapDirectory: If running on Linux/macOS and Java 21 or later, MMapDirectory uses IOContext to pass suitable MADV flags to kernel of operating system. This may improve paging logic especially when large segments are merged under memory pressure.https://github.com/apache/lucene/issues/13196
Lucene 9.11.0OptimizationsSpeed up dynamic pruning by breaking point estimation when threshold get exceeded.https://github.com/apache/lucene/issues/13199
Lucene 9.11.0OptimizationsSpeed up writeGroupVIntshttps://github.com/apache/lucene/issues/13203
Lucene 9.11.0OptimizationsUse singleton for all-zeros DirectMonotonicReader.Metahttps://github.com/apache/lucene/issues/13224
Lucene 9.11.0OptimizationsIntroduce singleton for PackedInts.NullReader of size 256https://github.com/apache/lucene/issues/13232
Lucene 9.11.0OptimizationsBinary search the BlockTree terms dictionary entries when all suffixes have the same length in a leaf block, speeding up cases like primary key lookup on an id field when all ids are the same length.https://github.com/apache/lucene/issues/11888
Lucene 9.11.0Bug FixesSubtract deleted file size from the cache size of NRTCachingDirectory.https://github.com/apache/lucene/issues/13206