Posted by Marc Sturlese
A new official release of Lucene in now available! Lucene 2.4.1 is a bug fix version.
We will be able to see more new features in the Lucene 2.9 release (available in developers version).
Here I mention all the improvements of Lucene 2.4.1, wich I read from the official lucene’s site:
- Fixed silent data-loss case whereby binary fields are truncated to 0 bytes during merging if the segments being merged are non-congruent (same field name maps to different field numbers).
- Don’t throw incorrect IllegalStateException from IndexWriter.close() if you’ve hit an OOM when autoCommit is true.
- If IndexReader.flush() is called twice when there were pending deletions, it could lead to later false AssertionError during IndexReader.open.
- Fix false AlreadyClosedException from IndexReader.open (masking an actual IOException) that takes String or File path.
- Multiple-valued NOT_ANALYZED fields can double-count token offsets.
- Ensure IndexReader.reopen() does not result in incorrectly closing the shared FSDirectory. This bug would only happen if you use IndexReader.open with a File or String argument.
- Fix possible overflow bugs during binary searches.
- Fix CachingWrapperFilter to not throw exception if both bits() and getDocIdSet() methods are called.
- Fix int overflow bug during segment merging.
- Fix int overflow bug when flushing segment.
- Fix deadlock in IndexWriter.addIndexes(IndexReader[]).
- NearSpansOrdered returns payloads from first possible match rather than the correct, shortest match; Payloads could be returned even if the max slop was exceeded; The wrong payload could be returned in certain situations.
- Add Analyzer.close() to free internal ThreadLocal resources.
- Fix IndexWriter.addIndexes(IndexReader[]) to properly rollback IndexWriter’s internal state on hitting an exception.
Tags: Java, Lucene