1. 基本概念
近實(shí)時(shí)(NRT)
建索引,到可搜索,一般僅需要1秒鐘;集群(Cluster)
集群默認(rèn)名稱:elasticsearch;
節(jié)點(diǎn)通過(guò)名稱加入集群;節(jié)點(diǎn)(Node)
啟動(dòng)時(shí)默認(rèn)隨機(jī)分配一個(gè)UUID作為節(jié)點(diǎn)名,可更改;
默認(rèn)加入名為elasticsearch的集群;索引(Index)
具有相似結(jié)構(gòu)的文檔集;
索引名稱須為小寫字母組合;Type (在6.0中已廢棄)
文檔(Document)
索引的基本對(duì)象;
格式:JSON;分片與副本(Shards & Replicas)
支持水平切分/擴(kuò)展;
分片可支持并行處理,可提高處理性能及數(shù)據(jù)吞吐量;
通過(guò)副本支持高可用(HA),同時(shí)也可以支持并行處理;
創(chuàng)建索引時(shí)可設(shè)置分片和副本數(shù)量,默認(rèn)為:5個(gè)分片和1個(gè)副本;
單索引最多支持20多億個(gè)文檔;
2. REST API
Elasticsearch提供了強(qiáng)大的REST接口:
<REST Verb> /<Index>/<Type>/<ID>
2.1 基本操作
-
查看集群狀態(tài):
GET /_cat/health?vepoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1475247709 17:01:49 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%- green - 一切正常
- yellow - 某些副本存在異常
- red - 某些數(shù)據(jù)存在異常
-
列出所有節(jié)點(diǎn):
GET /_cat/nodes?vip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 127.0.0.1 10 5 5 4.46 mdi * PB2SGZY 列出所有索引:
GET /_cat/indices?v創(chuàng)建索引:
PUT /customer?pretty
索引名稱customer;
pretty用于格式化輸出JSON響應(yīng);-
索引文檔
PUT /customer/_doc/1?pretty { "name": "John Doe" }{ "_index" : "customer", "_type" : "_doc", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 1 } -
獲取文檔:
GET /customer/_doc/1?pretty{ "_index" : "customer", "_type" : "_doc", "_id" : "1", "_version" : 1, "found" : true, "_source" : { "name": "John Doe" } } 刪除索引:
DELETE /customer?pretty
2.2. 修改數(shù)據(jù)
- 更新文檔
指定ID,使用PUT;
若ID已存在,則更新;若不存在則創(chuàng)建;
讓系統(tǒng)自動(dòng)生成ID,使用POST;POST /customer/_doc?pretty { "name": "Jane Doe" } - 刪除文檔
- 批處理
2.3 查詢
- 搜索API
- 查詢語(yǔ)法
- 搜索(search)
- 過(guò)濾(filter)
- 聚合(aggregation)