詳解windows 環(huán)境下搭建electricSearch+kibana
更新時間:2021年05月10日 16:18:15 作者:官蕭何
這篇文章主要介紹了windows 環(huán)境下搭建electricSearch+kibana,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1.ES7.3.2 + kibana + ik-smart 百度網(wǎng)盤下載地址:https://pan.baidu.com/s/1eCKTYoosXl8NfX37EwjyWA
提取碼:ibcf
kibana 操作文檔
GET _search { "query": { "match_all": {} } } ### 查看集群健康信息 GET /_cat/health?v ### 幫助 GET /_cat/health?help ### 查看集群中節(jié)點信息 GET /_cat/nodes?v ### 查看集群中索引信息 GET /_cat/indices?v ### 精簡信息 GET /_cat/indices?v&h=health,status,index ### 創(chuàng)建索引 PUT /baizhi ### 刪除索引 DELETE /baizhi ### 創(chuàng)建類型mapping POST /baizhi/user { "user": { "properties": { "id": { "type": "text" }, "name": { "type": "text" }, "age": { "type": "integer" }, "created": { "type": "date", "format": "strict_date_optional_time || epoch_millis" } } } } ### 查看類型mapping GET /baizhi/_mapping ### 新增單個文檔 PUT /baizhi/user/1 { "name":"zs", "title":"張三", "age":18, "created":"2018-12-25" } ### 查詢所有文檔 GET /zpark/user/_search ### 指定id查詢單個文檔 GET /baizhi/user/1 ### 修改單個文檔 PUT /baizhi/user/1 { "name": "lxs", "title": "李小四" } ### 刪除單個文檔 DELETE /baizhi/user/1 ### 批量新增 POST /baizhi/user/_bulk {"index":{}} {"name":"ww","title":"王五","age":18,"created":"2018-12-27"} {"index":{}} {"name":"zl","title":"趙六","age":25,"created":"2018-12-27"} ### 批量刪除 POST /baizhi/user/_bulk {"update":{"_id":"K38E728BJ1QbWBSobMEC"}} {"doc":{"title":"王小五"}} {"delete":{"_id":"LH8E728BJ1QbWBSobMEC"}} ##############進階############## ########### 查詢(Query) # 批量插入測試數(shù)據(jù) POST /zpark/user/_bulk {"index":{"_id":1}} {"name":"zs","realname":"張三","age":18,"birthday":"2018-12-27","salary":1000.0,"address":"北京市昌平區(qū)沙陽路55號"} {"index":{"_id":2}} {"name":"ls","realname":"李四","age":20,"birthday":"2017-10-20","salary":5000.0,"address":"北京市朝陽區(qū)三里屯街道21號"} {"index":{"_id":3}} {"name":"ww","realname":"王五","age":25,"birthday":"2016-03-15","salary":4300.0,"address":"北京市海淀區(qū)中關(guān)村大街新中關(guān)商城2樓511室"} {"index":{"_id":4}} {"name":"zl","realname":"趙六","age":20,"birthday":"2003-04-19","salary":12300.0,"address":"北京市海淀區(qū)中關(guān)村軟件園9號樓211室"} {"index":{"_id":5}} {"name":"tq","realname":"田七","age":35,"birthday":"2001-08-11","salary":1403.0,"address":"北京市海淀區(qū)西二旗地鐵輝煌國際大廈負一樓"} ### 查看所有并按照年齡降序排列 GET /zpark/user/_search { "query": { "match_all": {} }, "sort": { "age": "desc" } } ### 查詢第2頁的用戶(每頁顯示2條) GET /zpark/user/_search { "query": { "match_all": {} }, "sort": { "age": "desc" }, "from": 2, "size": 2 } ### 查詢address在海淀區(qū)的所有用戶,并高亮 GET /zpark/user/_search { "query": { "match": { "address": { "analyzer": "ik_max_word", "query": "海淀區(qū)" } } }, "highlight": { "fields": { "address": {} } } } ### 設(shè)置索引分詞器 PUT /zpark { "settings" : { "index" : { "analysis.analyzer.default.type": "ik_smart" } } } ### 查詢name是zs關(guān)鍵字的用戶 GET /zpark/user/_search { "query":{ "term": { "name": { "value": "zs" } } } } ### 查詢年齡在20~30歲之間的用戶 GET /zpark/user/_search { "query": { "range": { "age": { "gte": 20, "lte": 30 } } } } ### 查詢真實姓名以李開頭的用戶 GET /zpark/user/_search { "query": { "prefix": { "realname": { "value": "李" } } } } ### 查詢名字以s結(jié)尾的用戶 GET /zpark/user/_search { "query": { "wildcard": { "name": { "value": "*s" } } } } ### 查詢id為1,2,3的用戶 GET /zpark/user/_search { "query": { "ids": { "values": [1,2,3] } } } ### 模糊查詢realname中包含張關(guān)鍵字的用戶 GET /zpark/user/_search { "query": { "wildcard": { "realname": {"value": "*張*"} } } } ### 查詢age在15-30歲之間并且name必須通配z* GET /zpark/user/_search { "query": { "bool": { "must": [ { "range": { "age": { "gte": 15, "lte": 30 } } }, { "wildcard": { "name": { "value": "z*" } } } ], "must_not": [ { "regexp": { "name": ".*s" } } ] } } } ############# 過濾器(Filter) ### 其實準確來說,ES中的查詢操作分為2種:查詢(query)和過濾(filter)。查詢即是之前提到的query查詢,它(查詢)默認會計算每個返回文檔的得分,然后根據(jù)得分排序。而過濾(filter)只會篩選出符合的文檔,并不計算得分,且它可以緩存文檔。所以,單從性能考慮,過濾比查詢更快。 ### 換句話說,過濾適合在大范圍篩選數(shù)據(jù),而查詢則適合精確匹配數(shù)據(jù)。一般應(yīng)用時,應(yīng)先使用過濾操作過濾數(shù)據(jù),然后使用查詢匹配數(shù)據(jù)。 ### 過濾器使用 ranage filter GET /zpark/user/_search { "query":{ "bool": { "must": [ {"match_all": {}} ], "filter": { "range": { "age": { "gte": 25 } } } } } } ### term、terms Filter term、terms的含義與查詢時一致。term用于精確匹配、terms用于多詞條匹配 GET /zpark/user/_search { "query":{ "bool": { "must": [ {"match_all": {}} ], "filter": { "terms": { "name": [ "zs", "ls" ] } } } } } ### exists filter exists過濾指定字段沒有值的文檔 GET /zpark/user/_search { "query": { "bool": { "must": [ { "match_all": {} } ], "filter": { "exists": { "field": "salary" } } } }, "sort": [ { "_id": { "order": "asc" } } ] } ### ids filter 需要過濾出若干指定_id的文檔,可使用標識符過濾器(ids) GET /zpark/user/_search { "query": { "bool": { "must": [ { "match": { "address": "昌平區(qū)" } } ], "filter": { "ids": { "values": [ 1, 2, 3 ] } } } },"highlight": { "fields": { "address": {} } } } #############聚合(Aggregations) ### 度量(metric)聚合 POST /zpark/user/_search { "aggs": { "age_avg": { "avg": {"field": "age"} } } } ### 先過濾,再進行統(tǒng)計,如: POST /zpark/user/_search { "query": { "ids": { "values":[1,2,3] } }, "aggs": { "age_avg": { "avg": {"field": "age"} } } } ### 最大值查詢。如:查詢員工的最高工資 POST /zpark/user/_search { "aggs": { "max_salary": { "max": { "field": "salary" } } } } ### 統(tǒng)計查詢,一次性統(tǒng)計出某個字段上的常用統(tǒng)計值 POST /zpark/user/_search { "aggs": { "max_salary": { "stats": { "field": "salary" } } } } ### 桶(bucketing)聚合 自定義區(qū)間范圍的聚合,我們可以自己手動地劃分區(qū)間,ES會根據(jù)劃分出來的區(qū)間將數(shù)據(jù)分配不同的區(qū)間上去。 ### 統(tǒng)計0-20歲,20-35歲,35~60歲用戶人數(shù) POST /zpark/user/_search { "aggs": { "age_ranges": { "range": { "field": "age", "ranges": [ { "from": 0, "to": 20 }, { "from": 20, "to": 35 }, { "from": 35, "to": 60 } ] } } } } ### 根據(jù)年齡分組,統(tǒng)計相同年齡的用戶 POST /zpark/user/_search { "aggs": { "age_counts":{ "terms": { "field": "age", "size": 2 } } } } ### 時間區(qū)間聚合專門針對date類型的字段,它與Range Aggregation的主要區(qū)別是其可以使用時間運算表達式。 ### now+10y:表示從現(xiàn)在開始的第10年。 ### now+10M:表示從現(xiàn)在開始的第10個月。 ### 1990-01-10||+20y:表示從1990-01-01開始后的第20年,即2010-01-01。 ### now/y:表示在年位上做舍入運算。 ### 統(tǒng)計生日在2018年、2017年、2016年的用戶 POST /zpark/user/_search { "aggs": { "date_counts": { "date_range": { "field": "birthday", "format": "yyyy-MM-dd", "ranges": [ { "from": "now/y", "to": "now" }, { "from": "now/y-1y", "to":"now/y" }, { "from": "now/y-2y", "to":"now/y-1y" } ] } } } } ### 嵌套使用 ### 聚合操作是可以嵌套使用的。通過嵌套,可以使得metric類型的聚合操作作用在每一bucket上。我們可以使用ES的嵌套聚合操作來完成稍微復(fù)雜一點的統(tǒng)計功能。 ### 如:統(tǒng)計每年中用戶的最高工資 POST /zpark/user/_search { "aggs": { "date_histogram": { "date_histogram": { "field": "birthday", "interval": "year", "format": "yyyy-MM-dd" }, "aggs": { "salary_max": { "max": { "field": "salary" } } } } } }
到此這篇關(guān)于windows 環(huán)境下搭建electricSearch+kibana的文章就介紹到這了,更多相關(guān)windows 環(huán)境搭建electricSearch+kibana內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談服務(wù)發(fā)現(xiàn)和負載均衡的來龍去脈
單機時代,傳統(tǒng)軟件大多是單體/巨石架構(gòu)(Monolithic)。大家往一個代碼倉庫提交CODE,這會導(dǎo)致應(yīng)用膨脹,以及擴展受限,無法按需伸縮等諸多問題。單體架構(gòu)怎么解決多人合作的問題?模塊化,按功能拆分,模塊之間定義編程接口(API)。本篇文章帶你詳細了解。2021-05-05bilibili彈幕轉(zhuǎn)ass程序制作思路及過程
本文主要是為了方便線下播放Bilibili的彈幕,而專門制作的一款將彈幕轉(zhuǎn)換為ASS的程序,介紹了程序制作的思路及過程,有需要的朋友可以參考下2014-09-09