Kibana中的Dev Tools簡單使用

2021-10-08 08:16:58 字數 4009 閱讀 4028

在前面兩篇文章中分別講了elastic search 6.8.0的安裝和kibana 6.8.0的安裝,本文將介紹如何使用dev tools來操作es。

首先啟動es,再啟動kibana,進入dev tools。

建立index

#建立index

put /dangdang

刪除index

#刪除index

delete /dangdang

刪除所有index

#刪除所有index

delete /*

將會導致kibana無法使用。需要重啟kibana,慎用。

查詢所有索引

# 查詢所有的索引

get /_cat/indices?v

建立type

#建立type

put /dangdang

, "name":,

"age":,

"address":,

"content":}}

}}

note:7.0*版本後,乙個index內只能建立乙個type,語法上有些變化。故圖上有些紅色字提示。

建立document,指定了id

#建立document

post /dangdang/emp/1

建立document時,不指定id,

根據id查詢document

post /dangdang/emp

修改document,其他字段不變

#修改

post /dangdang/emp/j0nqbnmbnx_ubtrok5fl/_update

}

note:修改時,如果不帶_update,會將剩餘字段覆蓋,只留下修改的這個字段。

批量新增document

put /dangdang/emp/_bulk}}

}

批量新增修改刪除

post /dangdang/emp/_bulk		}

}}}

note:批量時不會因為乙個失敗而全部失敗,而是繼續執行後續操作,批量在返回時按照執行的順序開始返回

es官方提供了兩中檢索方式:

1)通過 url 引數進行搜尋,

2)通過 dsl(domain specified language) 進行搜尋。

官方更推薦使用第二種方式第二種方式是基於傳遞json作為請求體(request body)格式與es進行互動,這種方式更強大,更簡潔、

先準備測試資料:

delete /dangdang

put /dagndang

, "age":,

"content":,

"address":}}

}}put /danggdang/emp/_bulk }

}}}}

}

url檢索

查詢所有

get /dangdang/emp/_search?q=*
_search 搜尋的api

q=* 匹配所有文件

sort 以結果中的指定字段排序

查詢所有,分頁查詢,每頁5條,按年齡倒序,只查詢名字,年齡和位址

get /dangdang/emp/_search?q=*&sort=age:desc&size=5&from=0&_source=name,age,address
dsl檢索

查詢所有(match_all)

match_all關鍵字:返回索引中的全部文件

get /dangdang/emp/_search

}}

查詢結果中返回指定條數(size)

size 關鍵字: 指定查詢結果中返回指定條數。 預設返回值10條,一般配合from使用,實現分頁查詢

get /dangdang/emp/_search

}, "size"

: 1}

分頁查詢(from)

from 關鍵字: 用來指定起始返回位置,和size關鍵字連用可實現分頁效果

get /dangdang/emp/_search

}, "size"

: 2,

"from"

: 1}

查詢結果中返回指定字段(_source)

_source 關鍵字: 是乙個陣列,在陣列中用來指定展示那些字段

get /dangdang/emp/_search

}, "_source":[

"age", "name"

]}

排序

get /ems/emp/_search

}, "sort":[

}, }],

"size"

: 1}

get /dangdang/emp/_search}}

}

note1: 通過使用term查詢得知es中預設使用分詞器為標準分詞器(standardanalyzer),標準分詞器對於英文單詞分詞,對於中文單字分詞

get /dangdang/emp/_search}}

}

get /dangdang/emp/_search

}}

萬用字元查詢(wildcard)

wildcard 關鍵字: 萬用字元查詢 ? 用來匹配乙個任意字元 * 用來匹配多個任意字元**

get /dangdang/emp/_search}}

}

多id查詢(ids)

ids 關鍵字 : 值為陣列型別,用來根據一組id獲取多個對應的文件

get  /dangdang/emp/_search

}}

get /dangdang/emp/_search

}}

布林查詢(bool)

bool 關鍵字: 用來組合多個條件實現複雜查詢

must: 相當於&& 同時成立

should: 相當於|| 成立乙個就行

must_not: 相當於! 不能滿足任何乙個

get /dangdang/emp/_search}}

], "must_not":[

}}]}

}, "sort":[

}]}

get /dangdang/emp/_search}},

"highlight":}

}, "sort":[

}]}

多欄位高亮 使用require_field_match開啟多個欄位高亮

get /dangdang/emp/_search}},

"highlight":}

, "require_field_match"

:"false"

}, "sort":[

}]}

多欄位查詢(multi_match)

get /dangdang/emp/_search

}}

多欄位分詞查詢(query_string)

get /dangdang/emp/_search

}}

kibana中Visualize失效的解決辦法

當我們在kibana 如圖1 1所示 中辛辛苦苦建立很多個visual,但是過了幾天開啟發現變成了,如圖1 2 和圖1 3的情況,根據提示好像,我們只能夠進行重建visualize,但是重建也是乙個不小的人力成本。下面將給出具體的原因和解決辦法。圖 1 1 kibana中visualize 圖 1 ...

devTool引發的型別轉化異常

今天在開發的時候遇到了一次型別轉換異常 com.dabanjia.soul.keeper.api.uac.model.company can not cast to com.dabanjia.soul.keeper.api.uac.model.company 包命類名完全相同 原因 pom檔案中引入...

Kibana中doc與search策略的區別

在kibana中包含兩種策略 doc和search。使用了兩個迴圈佇列來獲取請求,並進行響應。doc的 如下 clientmethod mget search的 如下 clientmethod msearch 通過查詢api可以發現 mget命令,可以執行多個查詢。但是查詢條件基本是index,ty...