What Is New in Elasticsearch 7.17
Elasticsearch 7.17 delivers critical enhancements across search, security, and observability, alongside important bug fixes. This release strengthens the platform's core functionality for production environments.
| Category | Key Updates |
|---|---|
| New Features | Vector function score, EQL sequence queries, New ECS field migration APIs |
| Enhancements | Faster cross-cluster search (CCS), Geohex grid aggregation, Service tokens |
| Bug Fixes | Resolved issues in snapshot lifecycle management, indexing, and node startup |
| Security | Service account token management, FIPS 140-2 compliance improvements |
| Deprecations | Deprecated the `_thread_pool` endpoint in favor of Node Stats API |
How does Elasticsearch 7.17 improve search and querying?
The search experience gets a significant boost with two powerful new query capabilities. For developers working on relevance tuning, the new vector function score query allows you to rank documents based on raw vector similarity, which is a game-changer for integrating custom machine learning models directly into your search ranking.
For security and observability use cases, Event Query Language (EQL) now supports sequence queries. This lets you detec complex event patterns over time, like identifying a user logging in from two geographically distant locations within an impossibly short timeframe.
What are the key performance upgrades in 7.17?
Cross-cluster search (CCS) sees major performance improvements, especially when the remote cluster is on a different version. The reduction in serialization overhead means you'll get faster results from your federated queries across your cluster topology.
For geospatial workloads, the new geohex_grid aggregation aggregates geo-point data into hexagonal cells using the H3 grid system. This provides more natural visualizations for location-based analytics compared to traditional rectangular grids.
What security enhancements should I know about?
Service account tokens are now generally available, providing a more secure and manageable way for applications to integrate with Elasticsearch. These tokens are a better alternative to long-lived user passwords for system-to-system authentication.
The release also includes hardening for FIPS 140-2 compliant deployments, ensuring that cryptographic modules operate within the required boundaries for government and regulated industry use cases.
How does 7.17 help with data management?
New APIs have been introduced to help migrate to the Elastic Common Schema (ECS). The _ecs/_migration endpoints generate reports and provide assistance for updating your existing indices and mappings to align with ECS standards.
Several bugs in snapshot lifecycle management (SLM) were fixed, making automated backup operations more reliable. This matters because data protection is critical for any production cluster.
FAQ
How do I use the new vector function score query?
The vector function score query allows you to use a dense_vector field for scoring. You provide a query vector and the function calculates similarity scores (like cosine similarity) to rank documents, which is perfect for integrating ML model inferences.
What's the benefit of service account tokens over API keys?
Service account tokens are managed by the system and tied to built-in service accounts, making them more secure for internal services. API keys are still great for user-generated applications, but service tokens are ideal for Elasticsearch's own components.
Can I use EQL sequence queries for security analytics?
Absolutely. EQL sequence queries are specifically designed for detecting chains of events, like multi-stage attacks where an initial breach is followed by lateral movement and data exfiltration attempts.
Is the geohex_grid aggregation compatible with existing geo_grid aggregations?
Yes, the geohex_grid aggregation follows the same pattern as the existing geotile_grid aggregation but uses H3 hexagons instead of rectangles. The API structure will feel familiar if you've used other geo aggregations.
What was the main thread pool endpoint change?
The _thread_pool endpoint is now deprecated. You should use the equivalent thread pool information available in the Node Stats API (_nodes/stats) instead, which provides more comprehensive node metrics.