1、elasticsearch的功能
(1)分布式的搜尋引擎和資料分析引擎
(2)全文檢索,結構化檢索,資料分析
(3)對海量資料進行近實時的處理
2、es儲存結構:
我們從es儲存乙個資料來分析es的結構:
}
index相當於我們的mysql中的資料庫的database
_type相當於我們資料的表名
id:相當於我們表中的某一條主鍵id,也是乙個唯一標識
version相當於資料的版本號,可以做樂觀鎖
_source相當於我們的表資料,在es儲存都是json資料
3、kibana的使用
1、檢視集群中有哪些索引:
get /_cat/indices?v
2、建立索引
put /test_index?pretty
3、刪除索引:
delete /test_index?pretty
4、新增文件並建立索引
語法格式為:
put /index/type/id
index指索引名、type指索引的型別、id是這條資料的id。
put /bankorderindex/bankorder/1254423936
建立成功之後返回:
es會自動建立index和type,不需要提前建立,而且es缺省會對document每個field都建立倒排索引,讓其可以被搜尋。
對於查詢,我們使用的是get
get /bankorderindex/bankorder/1254423936
查詢es之後返回:
修改分為全部修改和部分修改,
全部修改就是直接替換,這種替換方式有乙個不好,即使必須帶上所有的field,才能去進行資訊的修改
修改全部
修改部分:
刪除直接delete就可以了
delete /bankorderindex/bankorder/1254423936
查詢
get /bankorderindex/bankorder/_search
took:耗費了幾毫秒
timed_out:是否超時,這裡是沒有
_shards:資料拆成了5個分片,所以對於搜尋請求,會打到所有的primary shard(或者是它的某個replica shard也可以)
hits.total:查詢結果的數量,3個document
hits.hits:包含了匹配搜尋的document的詳細資料
query dsl查詢所有的訂單:
get /bankorderindex/bankorder/_search
}}
查詢名稱包含n的訂單,同時按照**降序排序
分頁查詢訂單
get /bankorderindex/bankorder/_search
}, "from": 1,
"size": 5
}
指定要查詢出來訂單號和訂單金額就好
get /bankorderindex/bankorder/_search
}, "_source": ["ordersn", "realmoney"]
}
根據訂單建立時間查詢
4、document的核心元資料1、_index元資料
(1)代表乙個document存放在哪個index中
(2)類似的資料放在乙個索引,非類似的資料放不同索引:product index(包含了所有的商品),
sales index(包含了所有的商品銷售資料),inventory index(包含了所有庫存相關的資料)。
如果你把比如product,sales,human resource(employee),
全都放在乙個大的index裡面,比如說company index,不合適的。
(3)index中包含了很多類似的document:類似是什麼意思,其實指的就是說,
這些document的fields很大一部分是相同的,你說你放了3個document,
每個document的fields都完全不一樣,這就不是類似了,就不太適合放到乙個index裡面去了。
(4)索引名稱必須是小寫的,不能用下劃線開頭,不能包含逗號:product,website,blog
2、_type元資料
(1)代表document屬於index中的哪個類別(type)
(2)乙個索引通常會劃分為多個type,邏輯上對index中有些許不同的幾類資料進行分類:
因為一批相同的資料,可能有很多相同的fields,但是還是可能會有一些輕微的不同,
可能會有少數fields是不一樣的,舉個例子,就比如說,商品,可能劃分為電子商品,
生鮮商品,日化商品,等等。
(3)type名稱可以是大寫或者小寫,但是同時不能用下劃線開頭,不能包含逗號
ES 和 Kibana 的安裝啟用
部署命令 docker pull docker.elastic.co elasticsearch elasticsearch 7.6.0 docker run name es p 9200 9200 p 9300 9300 e discovery.type single node 單點模式 v da...
docker部署es和kibana遇到的坑
docker容器部署es和kibana需要注意的點 1 es和kibana的映象版本必須一致。我這次用的是7.7.1版本 2 es非常占用記憶體,因此在建立容器的時候一定要控制es使用的記憶體 在7.7.1版本的kibana中已經存在了漢化補丁,我們只需要在配kibana的置檔案中新增資訊即可 我在...
Kibana結合es的使用
安裝包解壓後執行kibana.bat es已經執行的情況下 http localhost 5601 es是面向文件的,儲存文件的同時對其進行索引使其能被搜尋到。1.建立文件 put lxy demo1 12.讀取文件 返回全部資料 get lxy demo1 1 返回部分資料 get lxy dem...