Category Archives: ELASTICSEARCH


Amazon Elasticsearch Features?

Amazon Elasticsearch Service (Amazon ES) is a managed service that makes it easy to create a domain, deploy, operate, and scale Elasticsearch clusters in the AWS Cloud.


Security with AWS Identity and Access Management (IAM) access control

Dedicated master nodes to improve cluster stability

Domain snapshots to back up and restore Amazon ES domains and replicate domains across Avail ability Zones
Data visualization using the Kibana tool

Integration with Amazon CloudWatch for monitoring Amazon ES domain metrics

Integration with AWS CloudTrail for auditing configuration API calls to Amazon ES domains


What is the use of attributes- enabled, index, and store?

The enabled attribute applies to various ElasticSearch specific/created fields such as _index and _size. User-supplied fields do not have an “enabled” attribute.

Store means the data is stored by Lucene will return this data if asked. Stored fields are not necessarily searchable. By default, fields are not stored, but full source is. Since you want the defaults (which makes sense), simply do not set the store attribute.

The index attribute is used for searching. Only indexed fields can be searched. The reason for the differentiation is that indexed fields are transformed during analysis, so you cannot retrieve the original data if it is required.


Does ElasticSearch have a schema?

Yes, Elastic search can have a schema. A schema is a description of one or more fields that describes the document type and how to handle the different fields of a document. The schema in Elasticsearch is a mapping that describes the fields in the JSON documents along with their data type, as well as how they should be indexed in the Lucene indexes that lie under the hood. Because of this, in Elasticsearch terms, we usually call this schema a “mapping”.

Elasticsearch has the ability to be schema-less, which means that documents can be indexed without explicitly providing a schema. If you do not specify a mapping, Elasticsearch will by default generate one dynamically when detecting new fields in documents during indexing.


What Is ElasticSearch


Elastic is an open-source search engine built on top of Apache Lucene, a complete text search engine library. Lucene is plausibly the most advanced, high performance, and perfectly featured search engine library in existence today.

Lucene is just a library. To leverage its power a user, need to work in Java and has to integrate Lucene directly with the user’s application.

Elasticsearch is also written in Java and uses Lucene internally for its indexing and searching, but its main aim is to make full-text search easily by hiding the difficulties of Lucene behind a simple, coherent, and RESTful API.

Elasticsearch is much more than just Lucene. It can also be described as follows.

  • A distributed real-time document is stored where every field is indexed and searchable.
  • It is a distributed search engine with real-time analytics.
  • Elasticsearch is capable of scaling hundreds of servers and petabytes of structured and unstructured data.
  • Elasticsearch can also be used as a replacement of document stores like MongoDB and RavenDB.
  • Elasticsearch is one of the most popular enterprise search engine which is currently being used by many organizations such as Wikipedia, The Guardian, StakOverflow GitHub and much more.


Node: Node refers to a single running instance of Elasticsearch. Single physical and virtual server accommodate multiple nodes depending upon the capabilities of their physical resources such as RAM, storage, and processing power.

Cluster: It is an assembly of one or more number of nodes. The cluster provides collective indexing and search capabilities across all the nodes for complete data.

Index: Index is a collection of different type of documents and document properties.

Mapping: It is a collection of documents which shares common fields present in the same index

Replicas: Elasticsearch allows the user to create replicas of their own indexes and shards. Replication not only increases the availability of data but also in the case of failure, it also improves the performance of searching by carrying out a parallel search operation in these replicas.


  • Elasticsearch is developed in Java, which makes it compatible with almost every platform.
  • Elasticsearch is real time.
  • Elasticsearch is distributed, which makes it easy to scale and integrate into any organization.
  • In Elasticsearch, creating back-ups are easy by using the concept of gateway
  • Elasticsearch supports almost every document type except those that do not support text rendering.


  • Elasticsearch does not contain multi-language support in terms of handling request and response data, unlike Apache Solr.
  • Elasticsearch also have a complication of split-brain situations in some rare cases.


Elasticsearch is both simple and a complex product. In this article, we have learned what is Elasticsearch and the major advantages and disadvantages. We hope, this article has given you a better understanding and more importantly, inspired you to further experiment with the rest of its great features!