Stable Release in branch 8.14
8.14.3
Released 11 Jul 2024
(2 years ago)
SoftwareElasticsearch
Version8.14
Status
End of life
Initial release8.14.0
05 Jun 2024
(2 years ago)
Latest release8.14.3
11 Jul 2024
(2 years ago)
End of lifeUnavailable
Release noteshttps://www.elastic.co/guide/en/elasticsearch/reference/8.14/es-release-notes.html
Source codehttps://github.com/elastic/elasticsearch/tree/8.14
Documentationhttps://www.elastic.co/guide/en/elasticsearch/reference/8.14/
Downloadhttps://www.elastic.co/downloads/elasticsearch
Elasticsearch 8.14 ReleasesView full list

What Is New in Elasticsearch 8.14

Elasticsearch 8.14 delivers significant enhancements across search, analytics, and data management. This release focuses on improving query performance, simplifying data ingestion, and expanding the capabilities of the inference API for AI-powered search.

Category Key Updates
New Features Semantic Text Search, _terms_enum API, Synthetic _source, Inference API for reranking
Improvements Faster terms aggregations, Reduced disk usage for doc-values, Concurrent shard snapshotting
Bug Fixes Resolves issues in search, indexing, security, and node shutdown
Deprecations Deprecated the _thread_pool endpoint and enable_time_soft_delete parameter

How does semantic text search improve relevance?

Semantic text search is a new feature that finds documents with similar meaning, not just literal keyword matches. It uses a built-in text embedding model to understand the contextual meaning of your query. This is a game-changer for improving search relevance without needing external systems.

You can use it directly in a knn query by providing a raw text string instead of a numerical vector. The API handles the text-to-vector conversion internally, making AI-powered search much more accessible.

GET my-index/_search
{
  "knn": {
    "field": "text_embedding",
    "query_text": "How is the weather in June?",
    "k": 10,
    "num_candidates": 100
  }
}

What are the new terms enum and synthetic _source features for?

The new _terms_enum API helps you discover the terms that exist in an index, which is incredibly useful for building autocomplete or dropdown filters in your application UI. It's more efficient than a terms aggregation for this specific use case.

Synthetic _source is a space-saving feature that generates the _source field on the fly for indices using the time_series mode. This can significantly reduce your storage footprint because the original JSON document doesn't need to be stored in its entirety.

How is the Inference API evolving for search?

The Inference API now supports reranking, allowing you to improve your search results by passing a list of initial hits to a model for rescoring. This lets you combine the speed of traditional retrieval with the precision of a large language model to surface the most relevant documents at the top.

You can configure the reranker directly within your search request. This tight integration means you don't have to manage a separate service for this critical step in the search process.

POST _inference/rerank/elser
{
  "query_text": "How do I connect to Elasticsearch?",
  "docs": [
    { "text_field": "Installation instructions for Elasticsearch" },
    { "text_field": "Network configuration and port settings" }
  ]
}

What performance gains can we expect from terms aggregation improvements?

Terms aggregations on numeric and date fields are now significantly faster. The improvement comes from a more efficient process that avoids unnecessary conversions and directly uses the doc-values structures. For large datasets, this can cut down aggregation latency noticeably.

There's also a general reduction in disk usage for doc-values on sorted indices. This matters because it lowers storage costs and can improve indexing and search performance due to better I/O efficiency.

FAQ

Is the new semantic search feature using a pre-trained model?
Yes, it uses the new Elastic Learned Sparse EncodeR (ELSER) model to generate text embeddings for the semantic search functionality.

Can I use the _terms_enum API on a frozen index?
No, the _terms_enum API does not currently support frozen indices. The index must be active to use this endpoint.

Does synthetic _source impact search or aggregation performance?
There is a minor performance cost when reconstructing the _source on the fly, but the significant reduction in storage requirements often outweighs this cost, especially for time-series data.

What happens if I use the deprecated _thread_pool endpoint?
The endpoint will continue to work in 8.14 but will emit a deprecation warning. You should migrate to using the Nodes stats API for thread pool information.

Is the inference reranking available for all inference endpoints?
No, reranking is a specific feature and is only available for services that support it, such as the ELSER model.

Releases In Branch 8.14

VersionRelease date
8.14.311 Jul 2024
(2 years ago)
8.14.204 Jul 2024
(2 years ago)
8.14.112 Jun 2024
(2 years ago)
8.14.005 Jun 2024
(2 years ago)