Apache Solr Changelog

New in version 4.6.1

January 29th, 2014
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • Bug Fixes:
  • SOLR-5408: CollapsingQParserPlugin scores incorrectly when multiple sort criteria are used
  • (Brandon Chapman, Joel Bernstein)
  • SOLR-5416: CollapsingQParserPlugin breaks Tag/Exclude Faceting
  • (David Boychuck, Joel Bernstein)
  • SOLR-5442: Python client cannot parse proxied response when served by Tomcat.
  • (Patrick Hunt, Gregory Chanan, Vamsee Yarlagadda, Romain Rigaux, Mark Miller)
  • SOLR-5445: Proxied responses should propagate all headers rather than the first one for each key.
  • (Patrick Hunt, Mark Miller)
  • SOLR-5479: SolrCmdDistributor retry logic stops if a leader for the request cannot be found in 1 second.
  • (Mark Miller)
  • SOLR-5532: SolrJ Content-Type validation is too strict for some webcontainers / proxies.
  • (Jakob Furrer, hossman, Shawn Heisey, Uwe Schindler, Mark Miller)
  • SOLR-5547: Creating a collection alias using SolrJ's CollectionAdminRequest sets the alias name and the collections to alias to the same value.
  • (Aaron Schram, Mark Miller)
  • SOLR-5577: Likely ZooKeeper expiration should not slow down updates a given amount, but instead cut off updates after a given time.
  • (Mark Miller, Christine Poerschke, Ramkumar Aiyengar)
  • SOLR-5580: NPE when creating a core with both explicit shard and coreNodeName.
  • (YouPeng Yang, Mark Miller)
  • SOLR-5552: Leader recovery process can select the wrong leader if all replicas for a shard are down and trying to recover as well as lose updates that should have been recovered.
  • (Timothy Potter, Mark Miller)
  • SOLR-5569 A replica should not try and recover from a leader until it has published that it is ACTIVE.
  • (Mark Miller)
  • SOLR-5568 A SolrCore cannot decide to be the leader just because the cluster state says no other SolrCore's are active.
  • (Mark Miller)
  • SOLR-5496: We should share an http connection manager across non search HttpClients and ensure all http connection managers get shutdown.
  • (Mark Miller)
  • SOLR-5583: ConcurrentUpdateSolrServer#blockUntilFinished may wait forever if the executor service is shutdown.
  • (Mark Miller)
  • SOLR-5586: All ZkCmdExecutor's should be initialized with the zk client timeout.
  • (Mark Miller)
  • SOLR-5587: ElectionContext implementations should use ZkCmdExecutor#ensureExists to ensure their election paths are properly created.
  • (Mark Miller)
  • SOLR-5540: HdfsLockFactory should explicitly create the lock parent directory if necessary.
  • (Mark Miller)
  • SOLR-4709: The core reload after replication if config files have changed can fail due to a race condition. (Mark Miller, Hossman))
  • SOLR-5503: Retry 'forward to leader' requests less aggressively - rather than on IOException and status 500, ConnectException.
  • (Mark Miller)
  • SOLR-5588: PeerSync doesn't count all connect failures as success.
  • (Mark Miller)
  • SOLR-5564: hl.maxAlternateFieldLength should apply to original field when fallback is attempted
  • (janhoy)
  • SOLR-5608: Don't allow a closed SolrCore to publish state to ZooKeeper.
  • (Mark Miller, Shawn Heisey)
  • SOLR-5615: Deadlock while trying to recover after a ZK session expiration.
  • (Ramkumar Aiyengar, Mark Miller)
  • SOLR-5543: Core swaps resulted in duplicate core entries in solr.xml when using solr.xml persistence.
  • (Bill Bell, Alan Woodward)
  • SOLR-5618: Fix false cache hits in queryResultCache when hashCodes are equal and duplicate filter queries exist in one of the requests
  • (hossman)
  • SOLR-4260: ConcurrentUpdateSolrServer#blockUntilFinished can return before all previously added updates have finished. This could cause distributed updates meant for replicas to be lost.
  • (Markus Jelsma, Timothy Potter, Joel Bernstein, Mark Miller)
  • SOLR-5645: A SolrCore reload via the CoreContainer will try and register in zk again with the new SolrCore.
  • (Mark Miller)
  • SOLR-5636: SolrRequestParsers does some xpath lookups on every request, which can cause concurrency issues.
  • (Mark Miller)
  • SOLR-5658: commitWithin and overwrite are not being distributed to replicas now that SolrCloud uses javabin to distribute updates.
  • (Mark Miller, Varun Thacker, Elodie Sannier, shalin)
  • Optimizations:
  • SOLR-5576: Improve concurrency when registering and waiting for all SolrCore's to register a DOWN state.
  • (Christine Poerschke via Mark Miller)

New in version 4.6.0 (November 28th, 2013)

  • Many improvements and enhancements for shard splitting options
  • New AnalyzingInfixLookupFactory to leverage the AnalyzingInfixSuggester
  • New CollapsingQParserPlugin for high performance field collapsing on high cardinality fields
  • New SolrJ APIs for collection management
  • New DocBasedVersionConstraintsProcessorFactory providing support for user configured doc-centric versioning rules
  • New default index format: Lucene46Codec
  • New EnumField type

New in version 4.5.1 (October 25th, 2013)

  • Solr 4.5.1 contains a handful of bug fixes, including 2 that are considered quite severe.

New in version 4.5.0 (October 7th, 2013)

  • Custom sharding support, improved routing, and multi-threaded faceting.

New in version 4.2.0 (March 12th, 2013)

  • A read side REST API for the schema. Always wanted to introspect the schema over http? Now you can. Looks like the write side will be coming next.
  • DocValues have been integrated into Solr. DocValues can be loaded up a lot faster than the field cache and can also use different compression algorithms as well as in RAM or on Disk representations. Faceting, sorting, and function queries all get to benefit. How about the OS handling faceting and sorting caches off heap? No more tuning 60 gigabyte heaps? How about a snappy new per segment DocValues faceting method? Improved numeric faceting? Sweet.
  • Collection Aliasing. Got time based data? Want to re-index in a temporary collection and then swap it into production? Done. Stay tuned for Shard Aliasing.
  • Collection API responses. The collections API was still very new in 4.0, and while it improved a fair bit in 4.1, responses were certainly needed, but missed the cut off. Initially, we made the decision to make the Collection API super fault tolerant, which made responses tougher to do. No one wants to hunt through logs files to see how things turned out. Done in 4.2.
  • Interact with any collection on any node. Until 4.2, you could only interact with a node in your cluster if it hosted at least one replica of the collection you wanted to query/update. No longer - query any node, whether it has a piece of your intended collection or not and get a proxied response.
  • Allow custom shard names so that new host addresses can take over for retired shards. Working on Amazon without elastic ips? This is for you.
  • Lucene 4.2 optimizations such as compressed term vectors.

New in version 3.3.0 (July 3rd, 2011)

  • Grouping / Field Collapsing
  • A new, automaton-based suggest/autocomplete implementation offering an order of magnitude smaller RAM consumption.
  • KStemFilterFactory, an optimized implementation of a less aggressive stemmer for English.
  • Solr defaults to a new, more efficient merge policy (TieredMergePolicy). See http://s.apache.org/merging for more information.
  • Important bugfixes, including extremely high RAM usage in spellchecking.
  • Bugfixes and improvements from Apache Lucene 3.3

New in version 3.2.0 (June 10th, 2011)

  • Ability to specify overwrite and commitWithin as request parameters when using the JSON update format
  • TermQParserPlugin, useful when generating filter queries from terms returned from field faceting or the terms component.
  • DebugComponent now supports using a NamedList to model Explanation objects in it's responses instead of Explanation.toString
  • Improvements to the UIMA and Carrot2 integrations
  • Bugfixes and improvements from Apache Lucene 3.2

New in version 3.2.0 (June 5th, 2011)

  • JSON update improvements were made.
  • Search result clustering and UIMA integration were improved.
  • Bugs were fixed.

New in version 3.1.0 (March 31st, 2011)

  • This is the first release since the Lucene/Solr merge and hence Solr's version number was bumped up to match Lucene (Solr 3.1 contains Lucene 3.1).
  • Highlights include Numeric range facets, Spatial search, Velocity driven search UI at http://localhost:8983/solr/browse, a new termvector-based highlighter, an extended dismax (edismax) query parser, a new Auto Suggest component, the ability to sort by functions, JSON document indexing, CSV response format, and Apache UIMA integration for metadata extraction.