Software Update: Apache Lucene Java 3.0.0

Spread the love

The Apache Software Foundation released a new version of Lucene Java a few days ago with 3.0.0 as the version number. Lucene can be used as a part of a search engine, as it can perform full text indexing. Lucene Java is, as the name of the application suggests, the release written in Java. For more information, we refer you to this page. The announcement of version 3.0.0 looks like this:

Lucene Java 3.0.0 available

The new version is mostly a cleanup release without any new features. All deprecations targeted to be removed in version 3.0 were removed. If you are upgrading from version 2.9.1 of Lucene, you have to fix all deprecation warnings in your code base to be able to recompile against this version.

This is the first Lucene release with Java 5 as a minimum requirement. The API was cleaned up to make use of Java 5’s generics, varargs, enums, and autoboxing. New users of Lucene are advised to use this version for new developments, because it has a clean, type safe new API. Upgrading users can now remove unnecessary casts and add generics to their code, too. If you have not upgraded your installation to Java 5, please read the file JRE_VERSION_MIGRATION.txt (please note that this is not related to Lucene 3.0, it will also happen with any previous release when you upgrade your Java environment).

Lucene 3.0 has some changes regarding compressed fields: 2.9 already deprecated compressed fields; support for them was removed now. Lucene 3.0 is still able to read indexes with compressed fields, but as soon as merges occur or the index is optimized, all compressed fields are decompressed and converted to Field.Store.YES. Because of this, indexes with compressed fields can suddenly get larger.

While we generally try and maintain full backwards compatibility between major versions, Lucene 3.0 has some minor breaks, mostly related to deprecation removal, pointed out in the ‘Changes in backwards compatibility policy’ section of CHANGES.txt. Notable areas:

  • IndexReader.open(Directory) now opens in read-only mode per default (this method was deprecated because of that in 2.9). The same occurs to IndexSearcher.
  • Already started in 2.9, core TokenStreams are now made final to enforce the decorator pattern.
  • If you interrupt an IndexWriter merge thread, IndexWriter now throws an unchecked ThreadInterruptedException that extends RuntimeException and clears the interrupt status.

see CHANGES for details.

Binary and source distributions are available here. Maven artifacts are available here.

Version number 3.0.0
Release status Final
Operating systems Windows 7, Linux, BSD, Windows XP, macOS, UNIX, Windows Server 2003, Windows Vista, Windows Server 2008
Website Apache
Download http://www.apache.org/dyn/closer.cgi/lucene/java/
License type Conditions (GNU/BSD/etc.)
You might also like