ElasticSearch

Introduction to Amazon Elasticsearch Service

Amazon Elasticsearch Service is a managed service that makes it easy to deploy, operate, and scale Elasticsearch clusters in the AWS Cloud. Amazon Elasticsearch service delivers Elasticsearch’s easy-to-use APIs and real-time capabilities along with the availability, scalability, and security required by production workloads.

[Lab] Getting Started with ElasticSearch - Part 5 - Search with Aggregates

By using "aggs" with Search API, we can do aggregates within ES similar to group by in SQL. When using “aggs”, it returns both the aggregate count as well as the documents matching the criteria (hits). You can specify not to return any documents, but only aggregate count by specifying “size” as 0. As always, this note is only for a quick reference, for details refer to links in reference.

 

Case 1 - Group by age

GET /bank/_search

{

[Lab] Getting Started with ElasticSearch - Part 4 - Search API & Query Language

We will quickly explore the Search API and the Query DSL of ElasticSearch. Parameters to the search api can be passed through the request uri or within the request body as a JSON. Sending as JSON through request body provides better flexibility.

This is a short summary for quick reference; detailed notes on same is available @ elastic.co (See references). Most examples are based on the sample json we imported from elastic.co. This lab starts from where previous lab has ended.

 

[Lab] Getting Started with ElasticSearch - Part 3 - Batch Operations

In part 1 of the lab we installed ElasticSearch and Kibana and did some basic queries. In part 2 we did more requests. In this part, we will do some batch operations.

We can perform operations in batches using the _bulk API.

 

This lab stops from where part 2 has ended. In case, you have shutdown the ES and Kibana, you will have to start them going to respective home folders:

bin\elasticsearch.bat

bin\kibana.bat

Then go to Kibana dashboard @ http://localhost:5601

Steps:

[Lab] Getting Started with ElasticSearch - Part 2 - Create Index & Do Basic Operations

In part 1 of the lab we installed ElasticSearch and Kibana and did some basic queries. In this part, we will create index and do a bit more. This lab stops from where part 1 has ended.

In case, you have shutdown the ES and Kibana, you will have to start them going to respective home folders:

bin\elasticsearch.bat

bin\kibana.bat

Then go to Kibana dashboard @ http://localhost:5601

 

Steps:

  1. Login to Kibana and go to Dev Tools console.

[Lab] Getting Started with ElasticSearch - Part 1 - Local Installation & Basic Setup

In this lab, we will download and install ElasticSearch in a Windows Machine. In a Linux machine, you should be able to do the same from OS package manager (e.g. Debian or RPM packages).

Prerequisites: Java should have been installed, preferably the latest version. 

Alternatively you can install Elasticsearch with Docker

 

Steps:

  1. Install ElasticSearch

Important Concepts in ElasticSearch

Will list down the important concepts from ElasticSearch that will help in getting started. For a detailed list, please refer to https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html.

 

Introduction to ElasticSearch

Elasticsearch is a distributed, JSON-based search and analytics engine designed for scalability, reliability, and easy management (Ref=elastic.co). Elasticsearch is based on Apache Lucene and provides a full-text as well as structured search engine with an HTTP web interface and schema-free JSON documents (Ref= Wikipedia). Elasticsearch is developed in Java and is open source. Official clients are available in Java, .NET (C#), Python, Groovy and many other languages.

DynamoDB - Introduction and Important Features

DynamoDB is a fully managed distributed NoSQL database service that can scale without limits. DynamoDB automatically partitions and re-partitions your data as your table size grows. DynamoDB is the most popular NoSQL cloud database according to Forrester, as of Jan 2017.

DynamoDB synchronously replicates data across three facilities in an AWS Region, for high availability, and unlike many NoSQL databases, even allows you to specify the read consistency for reads across these facilities. Default however is eventual consistency.