Elasticsearch: Introduction
Han Yi
March 27, 2018
Elasticsearch
ElasticSearch
Elastic Search
Elastic search
👍
👎
...
Common Misconception
Basic Concepts
Elasticsearch vs RDBMS
Index
Type
Document
Field
Row
Database
Table
Column
Basic Concepts
Elasticsearch vs RDBMS
Index
Type
Document
Field
Row
Database
Table
Column
Steps for removal of mapping types
- 6.x
- may only contain a single mapping type
- _doc is preferred for single type case
- 7.x
- type is deprecated
- include_type_name is added and give warning message if not set to false (default is true and ES will use _doc)
- 8.x
- type is removed
- include_type_name is deprecated
- 9.x
- include_type_name is removed
RESTful API: A Glimpse
- API Categories
- Document API: CRUD, Bulk, Reindex, etc
- Search API: URI/DSL Query, Suggester, Aggregation, etc
- Indices API: CRUD, indices operations, etc
- Cat API: pretty print index data
- Cluster API: manager clusters
- API Example
PUT prdts/_doc/1
{
"title": "coat",
"price": "15"
}
{
"_index": "prdts",
"_type": "_doc",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
RESTful API: A Glimpse
- API Example
GET prdts/_doc/1
{
"_index": "prdts",
"_type": "_doc",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"title": "coat",
"price": "15"
}
}
RESTful API: A Glimpse
- API Example
POST prdts/_doc/1/_update
{
"doc": {
"price": "20"
}
}
{
"_index": "prdts",
"_type": "_doc",
"_id": "1",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
RESTful API: A Glimpse
- API Example
DELETE prdts/_doc/1
{
"_index": "prdts",
"_type": "_doc",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}
RESTful API: A Glimpse
- GET _cluster/health
- Green
- all shards are allocated
- Yellow
- the primary shard is allocated but replicas are not
- Red
- the specific shard is not allocated in the cluster
- Green
RESTful API: A Glimpse
Elasticsearch Principles
- Full text search engine based on Apache Lucene
Elasticsearch Principles
- Distributed Search Engine
Elasticsearch Principles
- Node types
Elasticsearch Principles
- Node types (Continued)
- Master-eligible node
- default: true
- Data node
- default: true
- Ingest node
- default: true
- Tribe node (deprecated)
- Client node (Coordinating only node)
- All above options are false
- Master-eligible node
Features: Scalability and Availability
- Shard (Example 1)
Features: Scalability and Availability
- Shard (Example 2)
Features: Scalability and Availability
- ReplicaSet (Example 3)
- Distributed Query
Features: Scalability and Availability
- Fault Processing (1)
Features: Scalability and Availability
Scalability and Availability
- Fault Processing (2)
Scalability and Availability
- Fault Processing (3)
Thanks
Elasticsearch: Introduction
By hanyi8000
Elasticsearch: Introduction
- 1,934