Solr vs OpenSearch vs Elasticsearch — what do I need to change?

Choose a self-managed search stack now that Elastic changed source-code licensing, OpenSearch 3.x raised the upgrade baseline, and Solr 10 added notable platform and migration work.

OpenSearch 3.x — default choice if you can stage through 2.19 first; choose Elasticsearch only when Elastic-only paid features justify license and vendor lock-in.

Blockers

Who this is for

Candidates

Apache Solr 10

Apache Solr 10.0.0 was announced on 2026-03-03 and is the latest Solr release as of 2026-03-27. It remains Apache License 2.0 software with no vendor license fee shown on the official project site. The main tradeoff is upgrade work: Solr 10 requires Java 21, moves to Jetty 12 and Jakarta, and removes some older capabilities such as HDFS-backed indexes and snapshots. Solr 10.x is current, 9.10.x is the previous major, and versions below 9.10 are EOL.

When to choose

Use when Apache 2.0 licensing is mandatory and you want to avoid vendor-controlled feature tiers. It fits teams that can absorb Java and config migration work and prefer a community-governed stack over a commercial distribution.

Tradeoffs

No vendor license lock-in and no published software fee, but the upgrade burden is real because the Java baseline, servlet stack, and some legacy features changed at once.

Cautions

As of 2026-03-27, Solr 10 requires Java 21. Solr 9.10 introduced a SolrCloud safeguard that blocks lower-version nodes from starting if the cluster already contains a higher major.minor version, so plan upgrades carefully. Review removed features like HDFS storage, deprecated field types, and Jetty/Jakarta-related client changes before committing.

OpenSearch 3.x

OpenSearch is Apache 2.0-licensed, and the official download page shows v3.5.0 as current as of 2026-03-27. The maintenance policy shows 3.x is current, 2.19.x stays in maintenance until 4.0 GA, and 1.x is deprecated. The key upgrade constraint is that 1.3 or any 2.x deployment must first move to 2.19 before 3.1+, and OpenSearch 3.0 also raises the minimum JDK to 21 with additional pre-upgrade checks for some settings and plugins.

When to choose

Use when you want Apache 2.0 terms with an actively maintained fork and a clearer long-term path than staying on old Elasticsearch distributions. It is the pragmatic choice if you can accept a staged upgrade through 2.19 and validate plugin and index-setting compatibility first.

Tradeoffs

Licensing is clean and current releases are active, but 3.x is not a drop-in jump from older clusters because the compatibility baseline moved and some settings now fail upgrade checks.

Cautions

As of 2026-03-27, OpenSearch 1.3 or 2.x must go through 2.19 before 3.1. OpenSearch 3.0 requires JDK 21, plugin versions must match OpenSearch major.minor.patch, and some deprecated index settings will block upgrade validation. If you use searchable snapshots or legacy Observability notebooks, you must remediate those before 3.x.

Elasticsearch self-managed

Elastic's default self-managed distribution remains under Elastic License 2.0, while the source code for the free portions of Elasticsearch and Kibana gained AGPLv3 as an additional option before 8.16 GA; Elastic's FAQ describes the source as SSPL, AGPLv3, and ELv2, but says releases continue under ELv2. As of 2026-03-27, Elastic still offers a free Basic tier and paid self-managed subscriptions, but the official subscriptions page says pricing requires contacting sales. As of 2026-03-27, the pricing FAQ also says self-managed Gold is no longer available for new customers, leaving Platinum and Enterprise as the active paid self-managed tiers for new buyers. This makes Elasticsearch the least price-transparent option of the three.

When to choose

Use when you specifically want the official Elastic distribution and are comfortable with ELv2 terms plus sales-led self-managed licensing. It is the right fit when Elastic-only paid features matter enough to justify commercial negotiation and vendor feature gating.

Tradeoffs

You get the official Elastic stack and paid feature path, but not Apache 2.0 distribution terms, and self-managed commercial pricing is not publicly posted.

Cautions

As of 2026-03-27, the AGPL change applies to source-code access, not to the default distribution, which remains ELv2. New self-managed customers cannot buy Gold, and some advanced search and ML capabilities are explicitly tied to Platinum or Enterprise. Check official docs for current version-specific upgrade steps and exact subscription pricing.

Facts updated: 2026-03-27
Published: 2026-04-03

Try with your AI agent

$ npm install -g pocketlantern
$ pocketlantern init
# Restart Claude Code, Cursor, or your MCP client, then ask:
# "Solr vs OpenSearch vs Elasticsearch — what do I need to change?"
Missing something? Request coverage