Elastic Search

Elastic Search 

Highly scalable open source search and analytic engine.Store search and analyse big volume of data.
Written in Java. 

  • NTR - Near Real time - From the time you index a document to the time its searchable. With a delay of 1s
  • Cluster - collection of nodes(servers) that hold the data. Cluster is identified by a name and nodes join the cluster by its name. 
    • Default name - elasticsearch
  • Node - Single server part of cluster stores data 
    • Default name - UUID
  • Index - collection of documents with similar characteristics..  - Database. 
    • there can be multiple indexes in a single cluster.
  • Type - Category of multiple documents. index has one ore more types.  Logical partition of your index. Name and mapping. Similar to mysql table ? 
    • Class in OOP.
  • Index can have one or more types.
  • Document - a unit of info. Json Schema less . Stored with in an index / type
    • Key - value pairs.
    • Object in OOP.
  • Mapping - Similar Schema of table for a document. 
    • Include data type 
    • How fields should be indexed.

Analogy to Relation Database :

  1. Index - DB
  2. Type - table
  3. document - row in table
  4. Fields - column 
  5. Mapping - schema 
Shards  - Improve scalability 
Index divided into multiple pieces called shard.
Improve scalability.
Index contains more data than the node can store. Sharding comes handy.
Allows distribute and parallelise operations.

Replica : 
Copy of Shard.
Handles node failure.






Comments