The core strength of Elastic search lies in its text searching capabilities. This also implements Full text search
Analytics:
Elastic search supports a wide variety of aggregations for analytics. These aggregations are quite powerfull and can be applied for various data types
Rich Client library support and the REST API
Elastic search has very rich client library support to make it accesible to many programming languages (Java, C#, Python, JavaScript, PHP, Ruby)
Elastic search has a Very RICH REST API (Which works on http)
Easy to operate and Easy to scale:
Elastic search can run on single node and easily scale to hundreds of nodes
Ligthning Fast
Fault-tolerant
Setting up kibana
Core Concepts of Elastic Search
Following are the core concepts of Elastic Search
Indexes
Types
Documents
Clusters
Nodes
Shards & replicas
Mappings & Types
Inverted Indexes
Example: Add the following using kibana console
PUT /library/_doc/1
{
"title": "Mind Hacking, Unfck Yourself, Rich Dad Poor Dad, Smarter Faster Better 4 Books Collection Set",
"ISBN-10": "1612680178",
"Authors": [
"Sir John Hargrave", "Gary John Bishop", "Charles Duhigg", "Robert T. Kiyosaki"
],
"Edition": 2,
"Binding": "Paperback",
"List Price": "0.17$",
"Published": "January 2020"
}
Elastic search can also be interacted using curl
Indexes
An index is a container that stores and manages documents of single type in elastic search
The concept of index in Elastic search is roughly analogues to the database schema in relational database. Going by this analogy, a type in Elasticsearch is equivalent to table and document is equivalent to record in the table.
Types
In our example of library, the document that was indexed was of library type. Each document stored in the library type represent one book
Typically documents with mostly common set of fields are grouped under one type
PUT /library/_doc/1
{
"title": "Mind Hacking, Unfck Yourself, Rich Dad Poor Dad, Smarter Faster Better 4 Books Collection Set",
"ISBN-10": "1612680178",
"Authors": [
"Sir John Hargrave", "Gary John Bishop", "Charles Duhigg", "Robert T. Kiyosaki"
],
"Edition": 2,
"Binding": "Paperback",
"List Price": "0.17$",
"Published": "January 2020"
}
PUT /library/_doc/2
{
"title": "Who Moved My Cheese",
"ISBN-13": "9780399144462",
"Author": "Johnson, Spencer",
"Edition": 1,
"Binding": "HardCover",
"Published": "September 1998"
}