in header
img

Elasticsearch is a search and analytics engine constructed on Apache Lucene. It is developed in Java by Shay Banon and published in 2010. In very short time Elasticsearch gain popularity and it is commonly used for Application search, Website search, Enterprise search, Logging and log analytics, Security analytics and Business analytics(BI). Elasticsearch has many popular clients worldwide, which includes Ebay, Netflix, and Facebook.

Why use Elasticsearch?

Elasticsearch is fast: Elasticsearch is excellent perform over doing what traditional databases can't do: full text search. Both relational and non-relational databases are very sluggish with regards to this search technique.

Elasticsearch is distributed by nature: Elasticsearch provides the ability to further divided the index into multiple pieces and stores in different container, which are duplicated to provide redundant copies of the data in case of hardware failure. 

Elasticsearch has wide range of features: In addition to its speed, scalability, and resiliency, Elasticsearch has some of effective integrated capabilities that make storing and looking information even greater efficient, which includes information rollups and index lifecycle management.

Basic concepts of Elasticsearch

1. Index: An index is a collection of documents with similar characteristics. An index is more or less being similar to a database in a relational database schema. Here we are taking an example of e-commerce website, here we can have an index for Category, one for Products, one for Customer, one for Orders, etc. An index is recognized via way of means of a call this is used to consult the index even as appearing indexing, search, update, and delete operations in opposition to the documents in it.

2. Node: A node is a running instance of Elasticsearch on a physical or virtual machine. A node can be configured to join a specific cluster or form one on its own.
3. Cluster: cluster is a collection of one or more node instances that are related to each other, contain all of the data from an index. 
4. Type: Basically, a type in Elasticsearch represented a class of similar documents and had a name such as category or product. It is similar to like data type in the programming language.
5. Document: A document is a basic unit of information which can be indexed. Each document is basically a JSON structure, that is in the long run taken into consideration to be a sequence of key and price pairs. These pairs are then listed in a manner this is decided through the document mapping.
6. Shards: Elasticsearch provides the ability to further divided the index into multiple pieces that pieces are called shards.
7. Replicas: Elasticsearch allows you to make one or more copies of your index’s shards which are called replica shards or replica. 

Installation Steps of Elasticsearch

Step1: Install the latest java version or check your current version it should be java 7 or higher. 
        In Windows Operating System use command 
        > java -version

Step 2: Set environment variable for JAVA

Step3:  Download elastic zip file from here https://www.elastic.co/downloads/elasticsearch

Step4: Unzip the file and go to bin folder

Step5: Double click on "elasticsearch.bat" file

Step6: The default port for Elasticsearch web interface is 9200 or you can change it by changing http.port inside the elasticsearch.yml file present in bin directory. You can check if the server is up and running by browsing http://localhost:9200. It will return a JSON object as below:

{
   "name" : "Brain-Child",
   "cluster_name" : "elasticsearch", "version" : {
      "number" : "2.1.0",
      "build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",
      "build_timestamp" : "2015-11-18T22:40:03Z",
      "build_snapshot" : false,
      "lucene_version" : "5.3.1"
   },
   "tagline" : "You Know, for Search"
}

Comparison between Elasticsearch and RDBMS

In Elasticsearch, a document is similar to the row in RDBMS (Relational Database Management System). The series of rows creates a table, that's known as index in Elasticsearch. Let us compare the terms used in Elasticsearch with RDBMS

Elasticsearch RDBMS
Document Row
Field Column
Index Table
Cluster Database

 

What are the options for deploying Elasticsearch?

Elasticsearch clusters and Kibana instances will be hosted. Elasticsearch Service presently helps Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure.

While the maximum not unusualplace deployment is that of unmarried information middle deployment, that may incorporate committed grasp nodes and committed information nodes, for large clusters, a couple of information middle deployments also are required for terribly excessive availability of vital applications.

What programming languages does Elasticsearch support?

Elasticsearch helps numerous languages and official clients are to be had for:

  1. NodeJs
  2. Java
  3. Go
  4. C#
  5. PHP
  6. Perl
  7. Python
  8. Ruby

Leave a reply

    
Rating:

You may like these blogs