Solr 3.5

Solr 3.5.0 was released 2011-11-27. This is a copy of the release announcement:

The Lucene PMC is pleased to announce the release of Apache Solr 3.5.0!

See the CHANGES.txt file included with the release for a full list of details.

Solr 3.5.0 Release Highlights

  • Bug fixes and improvements from Apache Lucene 3.5.0, including a very substantial (3-5X) RAM reduction required to hold the terms index on opening an IndexReader. (LUCENE-2205)
  • Added support for distributed result grouping. (SOLR-2066, SOLR-2776)
  • Added support for Hunspell stemmer TokenFilter supporting stemming for 99 languages. (SOLR-2769)
  • A new contrib module "langid" adds language identification capabilities as an Update Processor, using Tika's LanguageIdentifier or Cybozu language-detection library (SOLR-1979)
  • Numeric types including Trie and date types now support sortMissingFirst/Last. (SOLR-2881)
  • Added hl.q parameter. It is optional and if it is specified, it overrides q parameter in Highlighter. (SOLR-1926)
  • Several minor bugfixes like date parsing for years from 0001-1000, ignored configurations when using QueryAnalyzer with SpellCheckComponent and many more. See CHANGES.txt entries for full details.

Post-Release Notes

Although the solr example configs are designed with the intent that they can be copied, modified, and re-used in other paths and other servlet containers there was a small glitch discovered in the example configs that would cause problems if you attempted to copy those configs as is w/o also copying some of the optional "contrib" jars for the VelocityResponseWriter...

From: Erik Hatcher
Subject: Re: solr.VelocityResponseWriter error in version 3.5.0
Date: Fri, 09 Dec 2011 21:22:20 GMT

My bad.

To clarify the issue here... the problem manifests itself only on Solr 3.5 specifically when
the example configuration is copied somewhere else (losing the relative path nature to the
<lib> references).  Generally this happens when folks want to deploy into Tomcat.  In
Solr 3.5, the VelocityResponseWriter was moved out of core and back to a contrib module. 
With this move, it became explicitly listed in the <lib> references by relative paths
which are incorrect (not just for the VelocityResponseWriter but also for Solr Cell, Clustering,
Data Import Handler, and the language identifier).  All those other components are lazy loaded
or not wired in by default so they don't cause a startup issue (but would not work!!!).  The
VelocityResponseWriter, however, is explicitly registered in the example configuration in
solrconfig.xml as:

    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:true}"/>

To fix the startup issue, if you don't want or care about the /browse interface or any other
custom use of the VelocityResponseWriter you can either remove that line from solrconfig.xml
(and restart Solr), or set the system property solr.velocity.enabled to false (something like
doing <export JAVA_OPTS="$JAVA_OPTS -Dsolr.velocity.enabled=false"> before launching
Tomcat) or set that default value to false in solrconfig.xml.  Note that if you do hit /browse
after you've disabled the VelocityResponseWriter, you will get the standard Solr XML response
returned as that is how Solr handles an unknown response writer parameter.  If you do want
the VelocityResponseWriter to work, you'll need to correct the <lib> references in solrconfig.xml
to point to the appropriate locations.

Apologies for this issue.  I juggle Solr 3.x's and Solr trunk and various snapshots of trunk
and I typically don't use Tomcat.

I've reopened to get it backported to 3.x
in time for a Solr 3.6 release.  I'll tackle this in a couple of weeks.

I'm also going to start a new solr-user thread about the VelocityResponseWriter and solicit
folks opinions regarding its future.

  • No labels