一: es存儲結構: 索引 文檔 類型 字段
es與mysql對比
(1)es的index: 相當於數據庫;如book索引.
(2)為提高查詢效率, es會對索引進行分片: 默認分為5片;
(3)為防止數據丟失, 會對數據備份 ,備份不會幫助檢索數據
(4) 索引下分為type; 對應mysql中的表; es5一個index可有多個索引, es6的版本每個index可以創建1個type, es7中type廢除
(5)每個type下有多個document..對應mysql中的行
(6) 每個document下是多個field. 對應mysql的列
二, 操作es的restful語法
1 GET請求:
1.1查詢索引信息: http:ip:port/index
1.2查詢指定文檔信息:http:ip:port/index/type/doc_id
2.POST
2.1查詢文檔(可以在請求體中添加json字符串代替查詢條件) : http:ip:port/index/type/_search
2.2修改文檔(可以在請求體中添加json字符串代替修改條件): http:ip:port/index/doc_id/_update
3. PUT
(1)創建索引(在請求體中指定索引信息) : http:ip:port/index
(2)創建索引時, 指定文檔的屬性信息(在請求體中指定屬性信息) : http:ip:port/index/type/_mappings
4. DELET
(1)刪除索引: http:ip:port/index
(2) 刪除文檔: http:ip:port/index/doc_id
三. 索引操作
3.1 創建索引
3.2 查詢索引
3.4 刪除索引
四. field的數據類型
1. string類型:
text: 用於全文檢索, 將當前的field進行分詞.
keyword: 不能再分的詞
2.數字型(Numeric datatypes):long:64位存儲 , integer:32位存儲 , short:16位存儲 , byte:8位存儲 , double:64位雙精度存儲 , float:32位 單精度存儲
3.日期型(Date datatype):date
4.布爾型(Boolean datatype):boolean
5.二進制型(Binary datatype):binary
五. 創建索引並制定結構
六. 文檔的操作
index type 和 id是三個確定文檔的因素
6.1 添加文檔
6.1.1 自動生成id
6.1.1 手動生成id
6.2 修改文檔
6.2.1 覆蓋修改; put 方式. 如果id存在, 新field值會覆蓋原, 原來的field都不復存在.
6.2.2 基於doc方式 : url后面加_update關鍵字, 並且在doc里修改, 只修改指定的field
6.3 刪除文檔