What is Elasticsearch

ElasticSearch is a distributed search engine and provide real time queries on database of any schema size. It is written in Java language.

It is open source tool as well as paid version. It is developed based on opensource lucene library

What is Elasticsearch used for?

Elastic Search is a search engine used for real time queries on unstructured data such as logs, documents etc. Can be used in Ecommerce applications for searching products based on different products

Is Elasticsearch a database?

It is not relational database, but search database to store the data indexed for faster query result

Is Elasticsearch a ETL tool?

ETL is extract, transform and load for processing data. ElasticSearch is not ETL tool, search server based on opensource lucene index mechanism, It provides API to interact with search queries. ETL tools are used to process the data and injest into elastic search for faster query searching in Software architecture.

Is Elasticsearch SQL or NoSQL?

It is not database of SQL or NoSQL, but it can be used to store the data of relational and unstructured data, index it, later these data can be queries with fuzzy queries for fast retrieval

Elastic search advantages

  • Provides real time full text searching capabilities
  • Scalable and Distributed support
  • Communication with REST API with JSON document Structure
  • Support Multi tenant
  • Schema less documents
  • Multiple Languages and Localization

Elastic Search Disadvantages

Not used for data storage and heavy computations.

When not to use Elastic Search Engines.

  • It is used for search capabilities, but not for storing as a database.
  • Heavy computations are not recommended to used

ElasticSearch Tools Marvel : It is a tool used to monitor the health instance and cluster

Logstash: Data normalization tool to capture the different logs such as application, web, and system. It provides ETL tools to read and transform the data

Kibana: Data visualization tool to analyze the data such as logs, It provides different maps and groups to view the data in graphical view.