一、研究背景
對于大數(shù)據(jù)測試和數(shù)據(jù)庫測試勘高,經(jīng)常會同MySQL峡蟋、ES等數(shù)據(jù)庫“打交道”。對于測試人員來說华望,MySQLMySQL語法簡單易懂蕊蝗、上手方便,但是ES語法相比之下第一眼就會讓人覺得“抓腦殼”(那么多字赖舟,鍵盤都得敲壞)蓬戚。
那有沒有什么工具,安裝方便宾抓、使用簡單子漩、具有一定可視化效果,且能夠直接使用MySQL語法查詢的呢石洗?那當(dāng)然有了幢泼,安排!
這里給大家介紹兩款操作ES的chrome插件工具:elasticsearch-head和elasticsearch-sql讲衫⌒袢蓿可以滿足大部分測試人員的測試工作需求,且安裝方便焦人、使用簡單挥吵。
二、工具
elasticsearch-head
elasticsearch-head的最大優(yōu)點(diǎn)在于可視化操作花椭,操作簡單忽匈,結(jié)果一目了然。
1矿辽、 安裝方式(推薦chrome插件方式)
1)通過chrome應(yīng)用商店一鍵安裝Elasticsearch-head插件(中文官網(wǎng)地址:https://chrome.google.com/webstore?hl=zh-CN丹允,英文官網(wǎng)地址:https://chrome.google.com/)。
2)當(dāng)存在無法訪問chrome應(yīng)用商店的時(shí)候袋倔,我們可以選擇下載插件包的雕蔽,植入chrome拓展程序文件的形式。
首先宾娜,從https://github.com/mobz/elasticsearch-head下載zip包(如下圖所示)批狐;
其次,解壓下載的壓縮包;
最后嚣艇,打開chrome更多工具—>擴(kuò)展程序—>加載已解壓的擴(kuò)展程序即可承冰。
2、 使用方法
點(diǎn)擊chrome瀏覽器擴(kuò)展程序即可使用食零。
3困乒、 支持功能
1)ES集群概覽
如下圖3所示,支持集群按照“地址排序”贰谣、“名稱排序”娜搂、“類型排序”,支持索引升吱抚、降排序涌攻,支持索引搜索等。
此外還可點(diǎn)擊索引的信息查看索引狀態(tài)频伤、索引信息,以及關(guān)閉芝此、刪除憋肖、刷新索引等操作。
2)索引
如下圖所示婚苹,支持索引概覽岸更、新建索引。
3)數(shù)據(jù)預(yù)覽
如下圖所示膊升,支持?jǐn)?shù)據(jù)預(yù)覽怎炊,點(diǎn)擊索引名即可預(yù)覽該索引數(shù)據(jù)。
4)基本查詢
如下圖所示廓译,支持單個索引的單字段值或多字段值聯(lián)合查詢评肆,支持算子term、range非区、fuzzy瓜挽、query_string、missing征绸,返回格式支持json久橙、csv以及table。
5)復(fù)合查詢
如下圖所示管怠,支持POST淆衷、GET、PUT渤弛、HEAD等REST請求祝拯,結(jié)果顯示支持原始json、圖形視圖和表格視圖她肯。
elasticsearch-sql
elasticsearch-sql的優(yōu)點(diǎn)在于可以將MySQL的基本語法轉(zhuǎn)換成ES語法直接查詢鹿驼,降低了ES語法的學(xué)習(xí)成本欲低。
1、 安裝方式(推薦chrome插件方式)
同elasticsearch-head一樣畜晰,可以通過源碼地址下載(https://github.com/shi-yuan/elasticsearch-sql-site-chrome)插件壓縮包砾莱,解壓后,導(dǎo)入瀏覽器擴(kuò)展程序即可凄鼻。
2腊瑟、 支持功能
1)基本SQL操作
2)地理位置查詢
3)拓展ES查詢功能
4)有限的join查詢支持
ES不支持join查詢,但elasticsearch-sql提供了部分join操作块蚌,包括JOIN和LEFT_JOIN闰非。但值得注意的是:
只有支持2 個表(索引/類型)加入join;
在“ON”上峭范,您能使用“AND”連接财松;
您必須為表使用別名(acounts a )。
在 Where 上纱控,不要組合兩個表的決策樹辆毡。
例如,這將起作用:WHERE (a.key1>3 OR a.key1<0) AND (b.key2 > 4 OR b.key2<-1)甜害,但我們不支持:WHERE (a.key1>3 OR b.key2<0) AND (a.key1 > 4 OR b.key2<-1)舶掖。
5)show功能
show可以展示集群和索引的細(xì)節(jié),例如:show *可以顯示所有索引尔店,show index可以展示索引的類型等信息眨攘。
3、 使用方法
點(diǎn)擊chrome擴(kuò)展程序elasticsearch-sql打開ui頁面嚣州,在文本框輸入SQL語句即可鲫售。如:
1)直接SQL語法查詢
使用show語法展示索引細(xì)節(jié):
使用join查詢:
2)翻譯SQL語法為ES語法
在文本框輸入SQL語句,點(diǎn)擊“Explain”即可翻譯為ES語句该肴,Results會顯示翻譯結(jié)果龟虎,例如:
3)其他功能
elasticsearch-sql的界面功能還支持查詢結(jié)果下載(ExportCSV)、查詢結(jié)果搜索(Search)以及其他設(shè)置(Show Settings)等沙庐。
總結(jié)
elasticsearch-head和elasticsearch-sql是兩款小巧方便的工具鲤妥,可以作為chrome插件使用,可視化的特點(diǎn)能夠滿足大部分人對ES的簡單操作拱雏,此外elasticsearch-sql可以降低測試人員的學(xué)習(xí)成本棉安,只需要簡單的SQL語法即可完成ES數(shù)據(jù)庫操作。
但是铸抑,它們自身也存在一定的局限性贡耽。例如:elasticsearch-sql針對復(fù)雜的SQL語句,尤其是嵌套語句或包含子查詢的語句,就顯得捉襟見肘蒲赂。
希望本文的介紹能幫助你簡單認(rèn)識這兩個小工具~