Operations 10 min read

The Deep‑Dive Elasticsearch Settings List You Must Know

This article presents a comprehensive, source‑code‑derived list of every Elasticsearch configuration option—including hidden and undocumented settings—explains their scopes, default values, and types, and shows how the list can be used for quick lookups, performance tuning, debugging, and automation.

Mingyi World Elasticsearch
Mingyi World Elasticsearch
Mingyi World Elasticsearch
The Deep‑Dive Elasticsearch Settings List You Must Know

1. Background: Why a complete Elasticsearch settings list?

Managing an Elasticsearch cluster requires knowing all configurable options. Adjusting performance, resource allocation, or meeting specific business needs depends on proper settings. Although the official documentation is extensive, it assumes the reader already knows the exact setting names; without a unified reference list, users waste time and may miss obscure options.

For example, the disk‑watermark high setting cluster.routing.allocation.disk.watermark.high defaults to 90% and triggers shard reallocation, but locating it in the docs can be difficult.

2. Project highlight: “code as data”

The author used the bblfsh source‑code analysis tool to parse the Elasticsearch codebase and extract every setting definition, demonstrating the power of source‑code analysis and providing a reproducible approach for similar projects.

The resulting list contains hundreds of entries, classified by scope (NodeScope, IndexScope, Dynamic) and includes for each setting:

Setting name : e.g. action.auto_create_index, cluster.routing.allocation.enable Attributes : whether the setting is dynamic, its scope, etc.

Java type : Boolean, Integer, TimeValue, …

Default value : e.g. true, 30s, 10% Typical entries are shown with code snippets and screenshots:

3. Practical uses of the list

Quick lookup : search the list instead of scanning the official documentation.

Discover hidden settings : some configurations are not documented and become visible through the list.

Cluster performance tuning : adjust settings such as cluster.routing.allocation or indices.breaker to manage resources and improve throughput.

Debugging and troubleshooting : knowing defaults and scopes helps locate misconfigurations quickly.

When optimizing disk usage, relevant settings include: cluster.routing.allocation.disk.watermark.low (default 85%) cluster.routing.allocation.disk.watermark.high (default 90%) cluster.routing.allocation.disk.watermark.flood_stage (default 95%, triggers read‑only mode)

4. Key settings explained

4.1 Cluster allocation and balancing

cluster.routing.allocation.enable

defaults to all and can be set to primaries or none. cluster.routing.allocation.balance.shard defaults to 0.45f and influences shard distribution across nodes.

4.2 Index pipeline

index.max_result_window

limits the number of documents returned in a single search (default 10000) to prevent memory overflow. index.translog.flush_threshold_size defaults to 512MB and affects write performance.

4.3 Network and communication

http.port

default range 9200‑9300. transport.tcp.port default range 9300‑9400.

4.4 Performance tuning

indices.memory.index_buffer_size

defaults to 10%, influencing write throughput. indices.breaker.fielddata.limit defaults to 60%, preventing excessive memory usage.

5. How to use the list

Local storage : save the list as CSV or Markdown for offline reference.

Tool integration : import the list into configuration‑management tools or scripts for automated configuration and monitoring.

6. Limitations and future work

Maintainability : new Elasticsearch versions may introduce or modify settings, requiring periodic updates.

Completeness : some dynamically generated settings might still be missing.

Documentation : certain settings need richer descriptions from the official docs.

Future directions include an automated pipeline that re‑extracts settings from the Elasticsearch source on each release, an interactive web UI for searching and filtering, and enriched per‑setting documentation with usage scenarios.

7. Conclusion

The “code as data” approach produced a valuable, comprehensive Elasticsearch settings reference that helps operators and developers optimize cluster performance, troubleshoot issues, and discover hidden configuration options.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

OperationsElasticsearchperformance tuningCluster ConfigurationbblfshSettings Extraction
Mingyi World Elasticsearch
Written by

Mingyi World Elasticsearch

The leading WeChat public account for Elasticsearch fundamentals, advanced topics, and hands‑on practice. Join us to dive deep into the ELK Stack (Elasticsearch, Logstash, Kibana, Beats).

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.