面向文檔的意思:文檔裏邊的數據結構和對象的數據結構徹底同樣。不像關係數據庫,存儲的是扁平的數據,須要將一個複雜對象拆開成多張表。數據庫
一、document數據格式json
面向文檔的搜索分析引擎api
(1)應用系統的數據結構都是面向對象的,複雜的
(2)對象數據存儲到數據庫中,只能拆解開來,變爲扁平的多張表,每次查詢的時候還得還原回對象格式,至關麻煩
(3)ES是面向文檔的,文檔中存儲的數據結構,與面向對象的數據結構是同樣的,基於這種文檔數據結構,es能夠提供複雜的索引,全文檢索,分析聚合等功能
(4)es的document用json數據格式來表達數據結構
2,簡單的集羣管理對象
(1)快速檢查集羣的健康情況 索引
GET /_cat/health?v文檔
es提供了一套api,叫作cat api,能夠查看es中各類各樣的數據test
如何快速瞭解集羣的健康情況?green、yellow、red?集羣
green:每一個索引的primary shard和replica shard都是active狀態的
yellow:每一個索引的primary shard都是active狀態的,可是部分replica shard不是active狀態,處於不可用的狀態
red:不是全部索引的primary shard都是active狀態的,部分索引有數據丟失了date
(2)快速查看集羣中有哪些索引
GET /_cat/indices?v
(3)簡單的索引操做,建立索引
PUT /test_index
三、商品的CRUD操做
(1)新增商品:新增文檔,創建索引,語法:
PUT /index/type/id
{
"json數據"
}
注意:es會自動創建index和type,不須要提早建立,並且es默認會對document每一個field都創建倒排索引,讓其能夠被搜索
(2)查詢商品:檢索文檔,
GET /index/type/id
(3)修改商品:替換文檔,【所有替換】
PUT /index/type/id
{
"json數據"
}
(4)修改商品:更新文檔,【覆蓋更新】
POST /index/type/id/_update
{
"doc": {
"json數據"
}
}
(5)刪除商品:刪除文檔,
DELETE /index/type/id