研究背景
對于大資料測試和資料庫測試,經常會同MySQL、ES等資料庫“打交道”。對于測試人員來說,MySQLMySQL文法簡單易懂、上手友善,但是ES文法相比之下第一眼就會讓人覺得“抓腦殼”(那麼多字,鍵盤都得敲壞)。
那有沒有什麼工具,安裝友善、使用簡單、具有一定可視化效果,且能夠直接使用MySQL文法查詢的呢?那當然有了,安排!
這裡給大家介紹兩款操作ES的chrome插件工具:elasticsearch-head和elasticsearch-sql。可以滿足大部分測試人員的測試工作需求,且安裝友善、使用簡單。
工具
elasticsearch-head
elasticsearch-head的最大優點在于可視化操作,操作簡單,結果一目了然。
安裝方式(推薦chrome插件方式)
1)通過chrome應用商店一鍵安裝Elasticsearch-head插件(中文官網位址:https://chrome.google.com/webstore?hl=zh-CN,英文官網位址:https://chrome.google.com/)。
2)當存在無法通路chrome應用商店的時候,我們可以選擇下載下傳插件包的,植入chrome拓展程式檔案的形式。
首先,從https://github.com/mobz/elasticsearch-head下載下傳zip包(如下圖所示);
其次,解壓下載下傳的壓縮包;
最後,打開chrome更多工具—>擴充程式—>加載已解壓的擴充程式即可。
使用方法
點選chrome浏覽器擴充程式即可使用。
支援功能
1)ES叢集概覽
如下圖3所示,支援叢集按照“位址排序”、“名稱排序”、“類型排序”,支援索引升、降排序,支援索引搜尋等。
此外還可點選索引的資訊檢視索引狀态、索引資訊,以及關閉、删除、重新整理索引等操作。
2)索引
如下圖所示,支援索引概覽、建立索引。
3)資料預覽
如下圖所示,支援資料預覽,點選索引名即可預覽該索引資料。
4)基本查詢
如下圖所示,支援單個索引的單字段值或多字段值聯合查詢,支援算子term、range、fuzzy、query_string、missing,傳回格式支援json、csv以及table。
5)複合查詢
如下圖所示,支援POST、GET、PUT、HEAD等REST請求,結果顯示支援原始json、圖形視圖和表格視圖。
elasticsearch-sql
elasticsearch-sql的優點在于可以将MySQL的基本文法轉換成ES文法直接查詢,降低了ES文法的學習成本。
安裝方式(推薦chrome插件方式)
同elasticsearch-head一樣,可以通過源碼位址下載下傳(https://github.com/shi-yuan/elasticsearch-sql-site-chrome)插件壓縮包,解壓後,導入浏覽器擴充程式即可。
支援功能
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可以展示叢集和索引的細節,例如:show *可以顯示所有索引,show index可以展示索引的類型等資訊。
使用方法
點選chrome擴充程式elasticsearch-sql打開ui頁面,在文本框輸入SQL語句即可。如:
1)直接SQL文法查詢
使用show文法展示索引細節:
使用join查詢:
2)翻譯SQL文法為ES文法
在文本框輸入SQL語句,點選“Explain”即可翻譯為ES語句,Results會顯示翻譯結果,例如:
3)其他功能
elasticsearch-sql的界面功能還支援查詢結果下載下傳(ExportCSV)、查詢結果搜尋(Search)以及其他設定(Show Settings)等。
總結
elasticsearch-head和elasticsearch-sql是兩款小巧友善的工具,可以作為chrome插件使用,可視化的特點能夠滿足大部分人對ES的簡單操作,此外elasticsearch-sql可以降低測試人員的學習成本,隻需要簡單的SQL文法即可完成ES資料庫操作。
但是,它們自身也存在一定的局限性。例如:elasticsearch-sql針對複雜的SQL語句,尤其是嵌套語句或包含子查詢的語句,就顯得捉襟見肘。
希望本文的介紹能幫助你簡單認識這兩個小工具~
最後:
1)關注+私信回複:“測試”,可以免費領取一份10G軟體測試工程師面試寶典文檔資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、接口測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、接口自動化測試、測試進階持續內建、測試架構開發測試架構、性能測試等。