What’s New in Elasticsearch 8.0? Key Features, Security, and API Changes
Elasticsearch 8.0 introduces major updates including 7.x REST API compatibility headers, default-enabled security with enrollment tokens, protected system indices, a preview KNN search API, storage‑saving field encodings, faster geo indexing, and numerous deprecations and enhancements across aggregations, authentication, cluster coordination, and packaging.
Elasticsearch is a Lucene‑based distributed full‑text search engine with a HTTP web interface and schema‑free JSON documents. It is written in Java and released under the SSPL+Elastic License, with official clients for Java, .NET, PHP, Python, Groovy, Ruby, and many other languages.
7.x REST API Compatibility
Elasticsearch 8.0 adds optional compatibility headers that let you send 7.x‑compatible requests to an 8.0 cluster and receive 7.x‑compatible responses, easing the upgrade process. While native 8.0 requests are recommended, the headers provide a longer migration window.
Security Features Enabled by Default
Running Elasticsearch without security exposes the cluster to any user who can send requests. Starting with 8.0, security (authentication, authorization, TLS) is enabled and configured automatically on first start.
Elasticsearch 8.0 generates an enrollment token at startup, which can be used to connect Kibana or register other nodes without manually creating certificates or editing YAML files.
Known Issues
On Linux ARM or macOS M1, the elastic user password and Kibana enrollment token are not generated automatically. After node startup, run bin/elasticsearch-reset-password -u elastic to create the password, then use bin/elasticsearch-create-enrollment-token -s kibana to generate a token for Kibana.
Better Protection of System Indices
System indices store internal configuration and data. Direct access is now blocked unless the allow_restricted_indices privilege is set to true. The built‑in elastic superuser no longer has write access to system indices, and attempts to modify them produce warnings.
New KNN Search API (Technical Preview)
The KNN search API uses the dense_vector field to find the k nearest vectors based on similarity metrics. It enables faster approximate KNN searches for large datasets, supporting recommendation engines and NLP‑based relevance ranking.
Storage‑Saving Field Encodings
Updates to the inverted index reduce storage for keyword, match_only_text, and text fields. In benchmark tests on application logs, the message field (mapped as match_only_text) saw a 14.4% reduction in index size and a 3.5% overall disk‑space reduction.
Faster Indexing for geo_point, geo_shape, and Range Fields
Optimizations to multi‑dimensional point indexing improve indexing speed for geo_point, geo_shape, and range fields by 10‑15% in Lucene‑level benchmarks.
PyTorch Model Support for NLP
Elasticsearch now allows uploading PyTorch models trained outside the Elastic Stack for inference, bringing modern NLP capabilities to search use cases.
Other Changes
Aggregations : removed adjacency matrix settings, deprecated MovingAverage pipeline aggregation, and removed deprecated sorting fields _time and _term.
Allocation : removed include_relocations setting.
Analysis : cleaned up versioned deprecations and removed pre‑configured delimited_payload_filter.
Authentication : file and native realms are always added unless explicitly disabled; default NameID format in policies is no longer set; enforced order for realms.
Cluster Coordination : removed connection timeout and support for delayed state recovery.
Distributed : removed sync flush and deprecated cluster.remote.connect setting.
Engine : rejected settings only_expunge_deletes and max_num_segments on force merge; removed per‑type index stats and translog retention settings.
Features/CAT APIs : removed deprecated local parameter from _cat/indices and _cat/shards.
Features/ILM+SLM : defaulted cluster.routing.allocation.enforce_default_tier_preference to true.
Features/Indices APIs : defaulted prefer_v2_templates to true, removed deprecated _upgrade API and include_type_name parameter, and removed template field from index templates.
Infra/Core : removed nodes/0 folder prefix from data path, deprecated bootstrap.system_call_filter, node.max_local_storage_nodes, Joda dependency, and camel‑case date/time format names.
Packaging : removed SysV init support, dropped JAVA_HOME support, and now requires Java 17 to run.
For more details, see the official Elastic blog post: https://www.elastic.co/cn/blog/whats-new-elastic-8-0-0
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
MaGe Linux Operations
Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
