OpenSearch 3.4 is ready for download with a host of new and updated features for a range of use cases, plus enhancements to drive better performance for common workloads. Key upgrades include:
- An all-new user experience for agentic search.
- An array of new tools to advance search relevance.
- An expanded set of Piped Processing Language (PPL) commands for analytics and observability use cases.
- Significant performance boosts for aggregation workloads.
You can download the latest version here or explore OpenSearch on our playground. For a comprehensive roundup of what’s new, check out the release notes.
Search
OpenSearch 3.4 incorporates new functionality to simplify agentic search implementations and boost relevance for your search results.
Power up agentic search with a no-code user experience
OpenSearch 3.4 introduces a redesigned, no-code user experience for building agents and running agentic searches. The agent creation UI now fully supports the latest agentic capabilities, including external Model Context Protocol (MCP) integration, search template integration, conversational memory, and single model support. When running agentic searches, users can seamlessly toggle between indexes and agents, enable conversational search, clear history, stop queries, and re-run new ones. The agent summary view provides visibility into the sequence of steps and tools used, while enhanced document results with visual indexes support easy validation of query relevance and result accuracy. The agent configuration panel is now collapsible, allowing users to focus on their search experience. Lastly, users can now access relevant resources and step-by-step guidance on how to export and apply agentic search in downstream applications using an “Export” button.
Enhance and simplify search relevance tuning with new workbench tools
This release brings several new tools and UX enhancements to the Search Relevance Workbench. One powerful new feature is scheduled experiments—now you can set your experiments to run on a schedule directly from the UI, which is helpful for ongoing relevance tuning. Run tests nightly, weekly, and monthly to build an understanding of your search quality over time. The single query comparison tool has been enhanced with native support for agentic search queries, allowing you to simultaneously view agent-generated queries, agent summaries, and conversational search capabilities alongside the search results. Another improvement is Globally Unique Identifier (GUID) filtering, which lets you search by ID for experiments, search configurations, query sets, and judgment lists. This can simplify navigation, especially when you’ve been using Search Relevance Workbench for some time and have accumulated a large number of assets.
Observability, log analytics, and security analytics
OpenSearch 3.3 introduced several additions to the observability toolkit, including a host of new PPL commands and functions to drive insights from your data. This release further expands OpenSearch’s PPL capabilities with helpful new additions.
Explore your data with new PPL functions and commands
OpenSearch 3.4 introduces the chart command for PPL, enabling you to transform query results into visualization-ready data through statistical aggregations with flexible grouping options. The command supports single-field grouping for standard aggregations and dual-field grouping using OVER...BY syntax, where the first field defines rows and the second field defines categories that can be pivoted into columns for two-dimensional visualizations. The chart command outputs results in a format suitable for use in dashboards and visualization tools. In addition, a new streamstats command aggregates data incrementally over a defined window, producing metrics such as running totals or counts as each event arrives. By evaluating data progressively within its window boundaries, this command enables users to perform sequential and trend-sensitive analysis directly inside PPL queries.
This release also includes the new multisearch command, allowing you to combine results from multiple search subsearches into a single unified result set, and the replace command, which lets you replace text patterns in specified fields. The new appendpipe command appends the result of the subpipeline to the search results. Unlike a subsearch, the subpipeline is not run first; rather, the subpipeline is run when the search reaches the appendpipe command. Two new functions are also included in the release: The mvindex function returns a subset of a multivalue array using start and optional end index values, and the mvdedup eval function enables users to remove duplicate values from a multivalue array.
Cost, performance, and scalability
This release includes updates designed to improve the cost efficiency, performance, and scalability of your OpenSearch clusters.
Accelerate aggregation workloads with the Lucene bulk collection API
OpenSearch has integrated Lucene’s new bulk collection API for aggregations, delivering performance gains of 5% to 40% across several key analytical operations, including cardinality, histogram, and series of statistical aggregations. The bulk collection API optimizes aggregation execution by reducing per-document collection overhead. Previously, each document collection required a virtual method call, creating unnecessary computational overhead. The new bulk collection approach processes documents more efficiently by batching operations, thereby amortizing the performance impact of these virtual calls during aggregation execution. Community contributions and feedback are welcome; see the meta issue to join the discussion.
Improve latencies for percentiles and matrix stats aggregations
This release includes additional performance optimizations for aggregation workloads, including a change to the percentiles aggregation. By replacing the previous AVLTreeDigest implementation with the MergingDigest implementation, percentiles aggregations can see a performance improvement of about 2x for high-cardinality fields, while low-cardinality fields may see up to a 30x improvement. In addition, a simplification of the matrix_stats aggregation has resulted in a performance improvement of as much as 5x.
Deploy gRPC with expanded query support and bulk request improvements
The gRPC Search API gains additional functionality in OpenSearch 3.4 with added support for new query types ConstantScoreQuery, FuzzyQuery, MatchBoolPrefixQuery, MatchPhrasePrefix, PrefixQuery, and MatchQuery. The release also includes improvements for gRPC bulk requests, with support for the CBOR/SMILE/YAML document formats.
Getting started
You can find the latest version of OpenSearch on our downloads page or explore the visualization tools on OpenSearch Playground. For further information, visit the release notes, documentation release notes, and updated documentation. You can also visit our community forum to share feedback on this release and connect with other OpenSearch users on our Slack instance.
We’ll be back in 2026 with OpenSearch 3.5 and more new releases to advance the performance and functionality of your OpenSearch deployments. Until then, best wishes to the OpenSearch community for the new year!