The Solr PMC is pleased to announce the release of Apache Solr 9.0

Solr is the popular, blazing fast, open source search platform from the Apache Solr project. Its major features include powerful full-text search, hit highlighting, faceted search and analytics, rich document parsing, geospatial search, extensive REST APIs as well as parallel SQL. Solr is enterprise grade, secure and highly scalable, providing fault tolerant distributed search and indexing, and powers the search and navigation features of many of the world's largest internet sites.

The release is available for immediate download at:

https://solr.apache.org/downloads.html

Please read CHANGES.txt for a detailed list of changes:

https://solr.apache.org/docs/9_0_0/changes/Changes.html

This is a major-version release with breaking changes. The highlights below is not the full list. Please consult the "Solr Upgrade Notes" when planning an upgrade:

https://solr.apache.org/guide/solr/9_0/upgrade-notes/solr-upgrade-notes.html

Solr 9.0.0 Release Highlights:

  • Minimum Java version supported: Java 11

  • Powered by Lucene 9.0, with numerous small and large improvements, such as smaller index footprint.

Querying and Indexing

  • Dense Vector "Neural" Search through DenseVectorField fieldType and K-Nearest-Neighbor (KNN) Query Parser.
  • Admin UI support for SQL Querying.
  • New snowball stemmers: Hindi, Indonesian, Nepali, Serbian, Tamil, and Yiddish.
  • New NorwegianNormalizationFilter.

Security

  • Certificate Authentication Plugin that enables end-to-end use of x509 client certificates for Authentication and Authorization.
  • Improved security when using PKI Authentication plugin.
  • Upgrade to Zookeeper 3.7, allowing for TLS protected ZK communication.
  • All request handlers support security permissions for access.
  • Ability to disable admin UI through a system property.
  • The property blockUnknown in the BasicAuthPlugin and JWTAuthPlugin now defaults to true instead of false.
  • Solr now runs with the Java security manager enabled by default. Hadoop users may need to disable this.
  • Solr embedded zookeeper only binds to localhost by default. See Upgrade Notes for how to obtain old behavior.
  • A lot of dependency updates make Solr much more secure.

Stability and Scalability

  • Rate limiting provides a way to throttle update and search requests based on usage metrics.
  • Task management interface allows declaring tasks as cancellable and trackable.
  • Ability to specify node roles in Solr. This release supports 'Overseer' and 'Data' roles out of the box.
  • New API for pluggable replica assignment implementations that replaces the auto-scaling framework.
  • Support for distributed processing of cluster state updates and collection API calls without relying on the Overseer.

Build and Docker

  • Solr is now built and released independently of Apache Lucene (separate Apache projects).
  • Build system switched to Gradle from Ant + Ivy.
  • Docker image creation is now a part of the Apache Solr Github repo.
  • Docker image documentation is now a part of the reference guide.
  • Official Docker image upgraded to use JDK17 (by Eclipse Temurin) and ability to create a local image that is functionally identical to the official one.

Other

  • Contrib modules are now just "modules". You can easily enable module(s) through environment variable SOLR_MODULES.
  • Features lifted out as separate modules are: HDFS, Hadoop-Auth, SQL, Scripting, and JWT-Auth.
  • The "dist" folder in the release is gone. Module jars are now inside respective module's lib/ folder.
  • Metrics handler only depends on SolrJ instead of core and has its own log4j2.xml now so it doesn’t share Solr’s logging config.
  • SolrJ class CloudSolrClient now supports HTTP2. It has a new Builder. See CloudLegacySolrClient for the 8.x version of this class
  • Jetty Request log is now enabled by default, i.e. logging every request.

Deprecations and Removals

  • The Data Import Handler (DIH) is an independent project now; it is no longer a part of Solr.
  • No more support for clusterstate.json and MIGRATESTATE API has been removed. If your collections use clusterstate.json, please refer to the Upgrade Notes.
  • Auto scaling framework has been removed. Please refer to replica placement plugins for alternate options.
  • LegacyBM25SimilarityFactory has been removed.
  • VelocityResponseWriter is an independent project now; it is no longer a part of Solr. This encompasses all previously included /browse and wt=velocity examples.
  • Legacy SolrCache implementations (LRUCache, LFUCache, FastLRUCache) have been removed. Users should modify their existing configurations to use CaffeineCache instead.
  • Cross Data Center Replication has been removed
  • SolrJ clients like HttpSolrClient and LBHttpSolrClient that lacked HTTP2 support have been deprecated. The old CloudSolrClient has been renamed as CloudLegacySolrClient and deprecated.
  • SimpleFSDirectoryFactory is removed in favor of NIOFSDirectoryFactory.



  • No labels