在項目開發過程中,經常會遇到希望在ES中拖取數據的行為,由於對其語法不夠熟悉,所以經常不知道如何編寫,網上的語法很多又不能使用,這里介紹一種簡單的不會出錯的語法生成技巧-----利用kibana的查詢構建自己的查詢語法.(kibana的數據可視化功能比較常用所以更熟悉一點)
舉個例子:
我想拉取一個索引 "test000001" 下每秒鍾數據的計數, 利用kibana的可視化功能就很輕易的得到我們的查詢語句:
第一步:選擇可視化下面的柱狀圖:
第二步:選擇我們的索引,進入維度設置的頁面:
第三步:選擇Y-axis為count, X-axis選項如下圖所示,我們就可以得到以下的圖表:
第四步:我們查看柱狀圖下面的Request選擇下的數據,可以看到ES request body.
由於我想要的是每分鍾的計數,所以我對上圖中的柱狀圖一直雙擊,直到圖表顯示達到我想要的精度,點擊請求體:
第五步:進行驗證, 我們將這個請求體中的數據粘貼到左側菜單欄中Dev Tools中,可以看到就可以拿到想要的數據了,其中請求中interval代表間隔,gte和lte代表時間戳.
這樣就可以快速構建正確的查詢語句了,在開發者工具中進行微調,就可以達到我們的需求.其他語法的構造,也可以根據不同的圖表選項來構造.