This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Major Changes from Solr 4 to Solr 5

*** As of June 2017, the latest Solr Ref Guide is located at ***

Please note comments on these pages have now been disabled for all users.

Skip to end of metadata
Go to start of metadata
Please note that this page is no longer part of the released Reference guide, but remains online for historical context.60%There are some major changes in Solr 5 to consider before starting to migrate your configurations and indexes. There are many hundreds of changes, so a thorough review of the Upgrading Solr section as well as the CHANGES.txt file in your Solr instance will help you plan your migration to Solr 5. This section attempts to highlight some of the major changes you should be aware of.

Topics discussed in this section:



Highlights of New Features in Solr 5

Some of the major improvements in Solr 5 include:

Ease Of Use

  • Improved bin/solr and new bin/post scripts
  • New, and restructured, example Config Sets available by default
  • SolrJ now has first class support for the Collections API
  • Implicit registration of /replication, /get, and /admin/* request handlers

Operational Support

SolrCloud & Distributed Requests

New Search Functionality

  • pivot.facet results can now include nested stats.field results constrained by those pivots
  • stats.field can be used to generate statistics over the results of arbitrary numeric functions
  • A new DateRangeField has been added for indexing date ranges, especially multi-valued ones
  • Spatial fields that used to require units=degrees now take distanceUnits=degrees/kilometers miles instead
  • MoreLikeThis query parser allows requesting for documents similar to an existing document
  • timeAllowed is now used to prematurely terminate requests during query expansion and SolrClient request retry

Solr is Now a Standalone Server

Beginning with Solr 5.0, Solr is no longer distributed as a "war" (Web Application Archive) suitable for deployment in any Servlet Container.  Solr is now distributed as a stand alone java server application, including start and stop scripts for use on Unix and MS-Windows platforms, as well as an installation script for setting up a "production" installation of Solr on *nix platforms managed via /etc/init.d.

The Upgrading a Solr Cluster section of this guide provides detailed steps for existing users to upgrade their clusters regardless of what servlet container they were using with Solr 4.

Internally, Solr is still implemented via Servlet APIs and is powered by Jetty -- but this is simply an implementation detail.  Deployment as a "webapp" to other Servlet Containers (or other instances of Jetty) is not supported, and may not work in future 5.x versions of Solr when additional changes are likely to be made to Solr internally to leverage custom networking stack features.

Index Format

Solr 5 has no support for reading Lucene/Solr 3.x and earlier indexes.  Be sure to run the Lucene IndexUpgrader included with Solr 4.10 if you might still have old 3x formatted segments in your index. Alternatively: fully optimize your index with Solr 4.10 to make sure it consists only of one up-to-date index segment.

solr.xml Format

Solr 4.4 introduced a new format for the solr.xml file, eliminating the need for each <core> to be explicitly listed.  Instead a process known as "Core Discovery" was introduced relying on files in each SolrCore instance directory.

Solr 5.0 has eliminated all support for the older solr.xml format, and moved entirely to core discovery.  See the Moving to the New solr.xml Format section for more details.

Collections API

Solr 5.0 only supports creating and removing SolrCloud collections through the Collections API, unlike previous versions. While not using the collections API may still work in 5.0, it is unsupported, not recommended, and the behavior will change in a 5.x release.

SolrJ changes

Many SolrJ methods that were marked deprecated in Solr 4.10 have been removed. Please consult the Solr 4.10 javadocs for the SolrJ package for information regarding the new supported methods.

In addition, the SolrServer family of classes are now deprecated, and developers are encouraged to instead use the SolrClient family of classes.


  • No labels