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.
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.
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.
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"
}
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 |
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.
Elasticsearch helps numerous languages and official clients are to be had for:
![]() |
Android Architecture Components
Android Architecture Components is a collection... View Details |
![]() |
Advanced Android Development
Building exceptional Android apps requires more... View Details |
![]() |
Learn How to Get Started with Android App Development
Android development is the process of creating applications... View Details |
![]() |
Learn How to Get Started with iOS App Development
iOS development is the process of creating applications... View Details |
![]() |
MEAN Stack VS MERN Stack
MEAN and MERN are both stack acronyms used to describe... View Details |
![]() |
What are MEAN Developers?
MEAN developers are software developers who specialize... View Details |