The Lucene PMC is pleased to announce the availability of Apache Lucene 3.1 and Apache Solr 3.1. The version number for Solr 3.1 was chosen to reflect the merge of development with Lucene, which is currently also on 3.1. Going forward, we expect the Solr version to be the same as the Lucene version. Solr 3.1 contains Lucene 3.1 and is the release after Solr 1.4.1.
Highlights of the Lucene release include:
- Numerous performance improvements: faster exact PhraseQuery; merging favors segments with deletions; primary key lookup is faster; IndexWriter.addIndexes(Directory) uses file copy instead of merging; various Directory performance improvements; compound file is dynamically turned off for large segments; fully deleted segments are dropped on commit; faster snowball analyzers (in contrib); ConcurrentMergeScheduler is more careful about setting priority of merge threads.
- ReusableAnalyzerBase makes it easier to reuse TokenStreams correctly.
- Improved Analysis capabilities: Improved Unicode support, including Unicode 4, more friendly term handling (CharTermAttribute), easier object reuse and better support for protected words in lossy token filters (e.g. stemmers).
- ConstantScoreQuery now allows directly wrapping a Query.
- IndexWriter is now configured with a new separate builder API, IndexWriterConfig. You can now control IndexWriter’s previously fixed internal thread limit by calling setMaxThreadStates.
- IndexWriter.getReader is replaced by IndexReader.open(IndexWriter). In addition you can now specify whether deletes should be resolved when you open an NRT reader.
- MultiSearcher is deprecated; ParallelMultiSearcher has been absorbed directly into IndexSearcher.
- On 64bit Windows and Solaris JVMs, MMapDirectory is now the default implementation (returned by FSDirectory.open). MMapDirectory also enables unmapping if the JVM supports it.
- New TotalHitCountCollector just counts total number of hits.
- ReaderFinishedListener API enables external caches to evict entries once a segment is finished.
Highlights of the Solr release include:
- Numeric range facets (similar to date faceting).
- New spatial search, including spatial filtering, boosting and sorting capabilities.
- Example Velocity driven search UI at http://localhost:8983/solr/browse
- A new termvector-based highlighter
- Extend dismax (edismax) query parser which addresses some missing features in the dismax query parser along with some extensions.
- Several more components now support distributed mode: TermsComponent, SpellCheckComponent.
- A new Auto Suggest component.
- Ability to sort by functions.
- JSON document indexing.
- CSV response format.
- Apache UIMA integration for metadata extraction.
- Leverages Lucene 3.1 and it’s inherent optimizations and bug fixes as well as new analysis capabilities.
- Numerous improvements, bug fixes, and optimizations.