Basics

< Back to all guides
_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: Node Request, Shard Data & Field Data Cache

Elasticsearch uses 3 types of caches to improve the efficiency of operation: node requests, shards and field data cache. 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

Official Elasticsearch clients are available for java, javascript, Perl, PHP, python, ruby and .NET. To avoid surprises, keep your client....

Cluster

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

Cross-Cluster Search in Elasticsearch & OpenSearch

Cross-cluster search enables users to execute a query across multiple Elasticsearch or OpenSearch clusters. To perform cross cluster search...

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...

Deploying Elasticsearch Using Docker Hub

In this article, we will delve into the process of deploying Elasticsearch using Docker Hub. Docker Hub is a cloud-based repository where...

Deprecation

To find out which functions have been deprecated in Elasticsearch, you can use deprecation logs, deprecation API, read breaking pages...

Discovery

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

DiskThreshold

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

Document

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

Elasticsearch Curl Delete

This guide will focus on how to use cURL to perform delete operations in Elasticsearch. It covers best practices, common issues & examples.

Elasticsearch Date Format

In this article, we will discuss the best practices and customization options for date formats in Elasticsearch.

Elasticsearch Delete Document

In this guide, we will discuss the process of deleting documents in Elasticsearch as well as best practices for deleting documents.

Elasticsearch Insert Document

This guide will discuss best practices & performance optimization techniques for inserting documents into Elasticsearch. First, use the API...

Elasticsearch Network Host Configuration: Best Practices and Optimization

In this article, we will discuss the importance of the network.host setting, best practices for configuring...

Elasticsearch Python Example

In this guide, we'll walk through an example of using the Elasticsearch Python client, Elasticsearch-py, to index & search documents.

Elasticsearch Query Syntax: Advanced Techniques and Best Practices

In this article, we will explore advanced techniques and best practices for constructing Elasticsearch queries.

Elasticsearch Synonym Token Filter

A tokenizer decides how Elasticsearch will take a set of words and divide it into separated terms called “tokens”. To work with synonyms...

Elasticsearch Upsert

Upsert in Elasticsearch allows you to perform both update and insert actions in a single request. To perform an upsert operation...

Fielddata

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

Filters

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, flush is the process of permanently storing data onto the disk for all of the operations that have been stored in memory.

How to Migrate From ECK to OpenSearch Using the Kubernetes Operator

When migrating from ECK to OpenSearch Operator, you need to consider the hardware specifications & YAML files. Use node.store.allow_mmap...

Index - How to create, list, query and delete indices

How to create an Elasticsearch Index & what it is with a general overview - an index (plural: indices) contains a schema and can have

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...

Mastering Index Prefixes in Elasticsearch

Index prefixes in Elasticsearch are primarily used to speed up text search operations. They are part of the inverted index and...

Metadata

Elasticsearch metadata refers to additional information stored for each document using metadata fields. Metadata fields can be customized...

Nodes

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

Optimizing Query Performance in Elasticsearch

In this article, we will discuss various techniques and best practices to optimize query performance in Elasticsearch.

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. An Elasticsearch plugin is installed and removed using the...

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 in Elasticsearch refers to 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 & the replica copy. Each replica is located on a different node to ensure...

Replication

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

Repository

An Elasticsearch repository needs to be registered using the _snapshot endpoint. The supported repository types are: S3, HDFS, Azure...

Resolving Conflicting Field Types in Elasticsearch

Conflicting field types in Elasticsearch can be a tricky issue to navigate. Here are the possible causes and resolutions for this issue.

Restore

In Elasticsearch, restore refers to a snapshot restore mechanism. To restore a cluster from the snapshot, an index, or selected indices...

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...

Understanding and Configuring Elasticsearch Ports

This guide will delve into the details of Elasticsearch ports, their default settings, and how to configure them to suit your specific needs.

Understanding Elasticsearch Data Types: A Deep Dive

This article will delve into the intricacies of Elasticsearch data types, providing a comprehensive understanding of their usage...

Understanding Shards in Elasticsearch

In this guide, we will delve into the concept of shards, their types, and how they contribute to the overall performance of Elasticsearch.

Unleashing the Potential: Overview of Elasticsearch Use Cases

This article will delve into some of the advanced use cases of Elasticsearch, providing a comprehensive understanding of its capabilities.

Upgrade

An Elasticsearch upgrade of an existing cluster can be done in 2 ways: through a rolling upgrade or a full cluster restart. To upgrade...

Version

A version corresponds to the Elasticsearch built-in tracking system that tracks the changes in each document. By using _version...

g2crowd

Loved by the Community ❤️

Our products are loved by over 12,000 users from the community. Thank you to our customers from all around the world!
soc2-type2