Basics

_source

Elasticsearch keeps the original JSON document in a field called _source. The source field serves special purposes such as...

Aggregation

The aggregations framework is a tool built in every Elasticsearch deployment. The different aggregation types: Bucket, Metric & Pipeline...

Alias

In Elasticsearch, an alias is a secondary name to refer to one or more indices. Aliases can be created and deleted dynamically using...

Bulk

Elasticsearch bulk makes it possible to perform many write operations in a single API call, which increases indexing speed. Using bulk API...

Cache

Elasticsearch uses three types of caches to improve the efficiency of operation: node requests, shards and field data. It is possible to...

Circuit Breakers

Elasticsearch has circuit breakers to deal with OutOfMemory errors that cause nodes to crash. Each breaker is used to...

Client

Any application that interfaces with Elasticsearch using various APIs can be considered a client. Elasticsearch clients follow a similar...

Cluster

An Elasticsearch cluster consists of a number of servers (nodes) working together as one to store data and respond to requests. It enables...

DELETE

DELETE is an Elasticsearch API which removes a document from a specific index. It requires an index name and _id document in order to...

Deprecation

There are a number of ways you can find out which functions in Elasticsearch have been deprecated, including: deprecation logs and...

Discovery

Discovery occurs when an Elasticsearch node starts, restarts or loses contact with the master node. In those cases the node needs to...

Document

Each Elasticsearch document is a JSON structure, which is ultimately considered to be a series of key:value pairs. An example for creating...

Fielddata

In Elasticsearch the term Fielddata is relevant when performing sorting and aggregations on text field. To set fielddata=true, you...

Filter

Elasticsearch Filters apply conditions inside the query to narrow down the matching results. A filter clause can be used used in...

Flush, Translog and Refresh

In Elasticsearch, flushing is the process of permanently storing data onto the disk for all of the operations that have been stored in memory.

Index

An Elasticsearch index can be thought of as a table inside a database that maintains a number of related elements. To create an index...

Indexing

Indexing is the process of adding or updating new documents to an Elasticsearch index. In its simplest form, you can index a document by...

Lucene

Elasticsearch Lucene or Apache Lucene is an open-source Java library used as a search engine. Elasticsearch is built on top of Lucene...

Mapping

Mapping contains the properties of each field in the index. A common issue in Elasticsearch is an incorrectly defined mapping. Examples of...

Metadata

Metadata in Elasticsearch is to additional information stored with each document, using metadata fields. This is how you can check metadata...

Nodes

There are different types of nodes in Elasticsearch. Each has its own role and purpose. Master, coordinating and data nodes differ...

Persistent

In Elasticsearch, Persistent refers to cluster settings that persist across cluster restarts. This setting is used in Cluster Update API...

Plugins

Plugins in Elasticsearch are used to extend the functionality of Elasticsearch. In addition to the core plugins available, there are also...

Queue

Queues in Elasticsearch exist in the context of Thread Pools. Queues are used to hold the pending requests for thread pools instead of...

Rebalance

Cluster rebalancing is the process by which an Elasticsearch cluster distributes data across the nodes. To force rebalance manually...

Recovery

In Elasticsearch, recovery refers to the process of recovering an index or shard when something goes wrong. You can recover data by using...

Refresh Interval

Elasticsearch requires a refresh operation to make indexed information available for search. You can set the refresh interval by...

Reindex

Reindex is the concept of copying existing data from a source index to a destination index. In some scenarios, the reindex API is...

Replica

In Elasticsearch there are two types of shards, the primary shard and the replica copy. This is done so that...

Replication

Elasticsearch replication refers to storing a redundant copy of the data. Elasticsearch creates 1 primary shard with a replication factor...

Repository

The Elasticsearch snapshot provides a backup mechanism that takes the current state and data in the cluster and saves it to a repository.

Restore

In Elasticsearch, restore refers to a snapshot restore mechanism. A restoration can be carried out once you set up the snapshot repository...

Routing

In Elasticsearch, routing refers to document routing. When you index a document, Elasticsearch will determine which shard will be used...

Scroll

The Elasticsearch scroll API is useful when a search returns a large set of results. Large search results are exhaustive for the system...

Search

To search in Elasticsearch, send a GET request to the _search endpoint in the search API. In the query phase and the fetch phase there are...

Settings

Elasticsearch settings can be configured on the cluster-level, node-level and index-level. Here's how to set up and optimize your settings...

Shards

The number of shards is set when an index is created, and cannot be changed without reindexing. To handle unassigned Elasticsearch shards...

Task

A task is equivalent to an Elasticsearch operation, any request performed on an Elasticsearch cluster. The following commands are used...

Template

An Elasticsearch template falls into one of these categories: index templates or search templates. Examples of index templates include...

Threadpool

Elasticsearch threadpools are used to manage how requests are processed and to optimize the use of resources. The write threadpool...

Threshold

Elasticsearch uses several parameters to enable it to manage hard disk storage across the cluster, such as...

Upgrade

Upgrade refers to migrating your Elasticsearch version to a newer version. There are two ways to upgrade existing clusters...

Version

A version corresponds to the Elasticsearch built-in tracking system that tracks the changes in each document with the purpose of...