Part 1: Introduction to Elastic Search

Part 1: Introduction to Elastic Search

This is the part 1 of the Complete Elasticsearch tutorial. Let's get started.

This is the first part 1 of the Complete Elasticsearch tutorial. This is beginner-friendly tutorial series but little programming knowledge is required to understand the in-depth concepts completely. So I would recommend learning the basics before starting this series.

What is covered in the post

  • What is elastic search?
  • How Elastic search works and Who uses it?
  • Overview of Elastic Stack (ELK)
  • Installing Elastic search

What is elastic search?

Elasticsearch is open-source analytics and full-text search engine. It's often used for search functionalities in an app.

For example, let's say you have an E-commerce website and a user wants to search for a product from your product catalog, elastic search makes it easy to provide that.

Elasticsearch is also used to analyze lots of data and provide visualization based on that data.

So let's see how the elastic search works?

How Elastic search works and Who uses it?

In elastic search, data is stored as documents. Here, a document is just a unit of information. It's similar to columns in relational databases.

A document is just a JSON object describing the data.

// This is a user's document
{
     firstName: "Rushil",
     lastName: "Patel",
}

We will see how elastic search organizes documents in the latter part of this series.

We use RESTful API to retrieve data from documents. As the documents are stored in JSON format any RESTful operations are easier to perform.

Elastic search is built on JAVA and is highly scalable due to its distributed nature.

Elastic search is widely used by major companies like Facebook, Mozilla Github, Netflix, and many more...

It also has a vibrant community, where to can find help if you are stuck on something.

Overview of Elastic Stack (ELK)

The company behind the elastic search also provides various other products which integrate with Elastic search to provide more value. So let's have a bird's eye view of the Elastic stack.

Kibana

The first and most commonly used product with elastic search is Kibana. It is an analytics and visualization tool for elastic search. Simply put it is a dashboard for ES.

Logstash

Logstash is a data processing tool that processes logs from applications and sends them to Elasticsearch. Logstash has three stages input, filter, and output. Inputs are events that could be anything like files, orders from an e-commerce website, chats, etc.

There are other tools as well which you could learn more about from this link.

Now let's install elastic search in our system

Installing Elastic search

It's pretty easy to install ES.

For macOS and Linux users

  • Download the .tar.gz file from this link download page .

  • Extract the folder and open it terminal

  • Then run ./bin/elasticsearch. You are good to go.

  • To check if your elastic search instance is running, go to your browser and search http://localhost:9200 . You should see a similar output given below.

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.14.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

For Windows users

  • Extract the folder and open it terminal

  • Then run ./bin/elasticsearch.bat. You are good to go.

  • Open the browser and search http://localhost:9200. You should also see the output given above.

Summary

This post gives an overview of what is elastic search, how it is used, and what other products are used along with the elastic search. Apart from that post also shows how to install and run the elastic search in your local machine.

Part 2 covers the architecture of the elastic search. How it is structured and we will be sending our first ES query.

Abbreviations

ES - Elastic search

ELK - Elastic search, Logstash, Kibana

Did you find this article valuable?

Support Rushil Patel by becoming a sponsor. Any amount is appreciated!