On behalf of the Lucene dev community (a growing community far larger
than just the committers) I would like to announce the fourth release
candidate for Lucene 2.9.

Please download and check it out - take it for a spin and kick the
tires. If all goes well, we hope to release the final version of
Lucene 2.9 very shortly.

We let out a bug in the lock factory changes we made in RC3 -
making a new SimpleFSDirectory with a String param would throw
an illegal state exception - a fix for this is in RC4. We also
took the opportunity to add a few more documentation improvements,
take care of another another minor bug fix or two, and move the
message package from contrib queryParser to core.

While we generally try and maintain full backwards compatibility
between major versions, Lucene 2.9 has a variety of breaks that are
spelled out in the 'Changes in backwards compatibility policy' section
of CHANGES.txt.

We recommend that you recompile your application with Lucene 2.9
rather than attempting to “drop” it in. This will alert you to any
issues you may have to fix if you are affected by one of the backward
compatibility breaks. As always, its a really good idea to thoroughly
read CHANGES.txt before upgrading. Also, remember that this is a
release candidate, and not the final Lucene 2.9 release.

Lucene 2.9 comes with a bevy of new features, including:

* Per segment searching and caching (can lead to much faster reopen
among other things)

* Near real-time search capabilities added to IndexWriter

* New Query types

* Smarter, more scalable multi-term queries (wildcard, range, etc)

* A freshly optimized Collector/Scorer API

* Improved Unicode support and the addition of Collation contrib

* A new Attribute based TokenStream API

* A new QueryParser framework in contrib with a core QueryParser
replacement impl included.

* Scoring is now optional when sorting by Field, or using a custom
Collector, gaining sizable performance when scores are not
required.

* Lucene now includes high-performance handling of numeric fields.
Such fields are indexed with a trie structure, enabling simple to
use and much faster numeric range searching without having to
externally pre-process numeric values into textual values.

---

And many, many more features, bug fixes, optimizations, and various
improvements. You can find the full list of changes here: