Latest in branch 8.9
8.9.2
Released 06 Sep 2023
(2 years ago)
SoftwareElasticsearch
Version8.9
Status
End of life
Initial release8.9.0
25 Jul 2023
(2 years ago)
Latest release8.9.2
06 Sep 2023
(2 years ago)
End of lifeUnavailable
Release noteshttps://www.elastic.co/guide/en/elasticsearch/reference/8.9/es-release-notes.html
Source codehttps://github.com/elastic/elasticsearch/tree/8.9
Documentationhttps://www.elastic.co/guide/en/elasticsearch/reference/8.9/
Downloadhttps://www.elastic.co/downloads/elasticsearch
Elasticsearch 8.9 ReleasesView full list

What Is New in Elasticsearch 8.9

Elasticsearch 8.9 delivers key enhancements in vector search, analytics, and operational resilience. This release focuses on making advanced search capabilities more efficient and developer-friendly.

Category Key Updates
New Features kNN as a query, ELSER model deployment, Intervals query update, Vector tile API
Improvements Faster synthetic source, Better search concurrency, Enhanced GeoIP database handling
Resilience Shard-level allocation awareness, Improved failover for frozen data tiers
Deprecations Deprecated REST API parameters for search and clear scroll

How does kNN as a query improve vector search?

The k-nearest neighbors (kNN) search is now fully integrated as a standard query type. This is a significant shift from the previous approach where it was a separate search section.

In practice, this means you can now combine kNN with other queries in a bool query for hybrid scoring. You're no longer limited to running it in isolation, which unlocks more complex and relevant search experiences.

This matters because it simplifies the query DSL for developers building semantic and hybrid search applications, making the syntax more consistent and powerful.

What analytics and querying enhancements are included?

This release packs several updates for data analysis and query flexibility. The intervals query now supports filters, giving you more control over proximity-based text searches.

For mapping, the synthetic _source feature is now generally available and significantly faster. This is huge for time series use cases like TSDB where you can define a runtime schema without storing the original source, saving immense disk space.

There's also a new Vector Tile API for building map visualizations, which efficiently returns data in the Mapbox vector tile format for rendering complex geographical data at scale.

How is cluster resilience improved?

Elasticsearch 8.9 introduces shard-level allocation awareness. This allows you to control shard placement based on custom node attributes, providing finer-grained control over your cluster's data resilience and hardware utilization than the traditional node-level awareness.

For frozen tiers, the failover process is now more robust. If a node fails, its shards will properly restart on other available nodes, preventing data from becoming unavailable and ensuring your infrequently accessed data remains queryable.

These changes are crucial for operators managing large, distributed clusters where minimizing downtime and data unavailability is a top priority.

What's new for developers and operators?

Deploying the ELSER v2 semantic search model is now much simpler with a dedicated start API (_ml/trained_models/_start), streamlining the setup process for advanced NLP tasks.

Under the hood, the concurrency model for search requests has been improved. This allows for better utilization of available threads, which can lead to lower latency and higher throughput on heavy search workloads.

Operators will also appreciate the more flexible GeoIP database management. You can now update the databases without needing to change the ingest processor's configuration, simplifying maintenance.

FAQ

Can I now use kNN search inside a boolean query?
Yes, absolutely. This is the major change in 8.9. The kNN search is now a first-class query type that you can combine with must, should, and filter clauses within a bool query for hybrid scoring.

Is the synthetic _source feature production-ready?
Yes, synthetic _source has been moved from technical preview to general availability. It's also been optimized and is now significantly faster, making it viable for production time-series use cases.

How does shard-level awareness differ from node-level?
Node-level awareness allocates all shards of an index based on a node attribute. Shard-level awareness provides finer control, allowing you to define different allocation rules for individual shards within the same index based on custom attributes.

Do I need to change my code due to deprecated features?
You might. The rest_total_hits_as_int parameter and the clear_scroll API's `body` parameter are now deprecated. Check your code for these and plan to update to the new alternatives.

What's the easiest way to start the ELSER model now?
Use the new dedicated start deployment API: POST _ml/trained_models/.elser_model_2/_start. This is a more straightforward method than the previous process.

Releases In Branch 8.9

VersionRelease date
8.9.206 Sep 2023
(2 years ago)
8.9.117 Aug 2023
(2 years ago)
8.9.025 Jul 2023
(2 years ago)