如果你透過搜尋引擎找到這篇文章,想必對 X-Pack 跟我一樣有著滿滿的怨念。最開始覺得 X-Pack 是個免費好用的外掛就把它裝到 Elasticsearch 跟 Kibana 身上,結果過了 30 天才看到提示說因為 License 過期,你需要去「更新授權碼」,否則不能登入 Kibana,其實到這邊我都還以為是註冊一個帳號就可以拿到新的授權碼,結果到官方網站看了很久,我沒有看到任何關於授權、費用、購買之類的文字(後來發現其實有,很小… 你們是有沒有想賺錢阿),最後竟然是靠 Google 搜尋才找到價格方案的頁面。
標籤: Elasticsearch
Elasticsearch、Kibana 使用者認證設定
當你將 Elasticsearch 和 Kibana 安裝完後,你會發現一個十分嚴重的問題:「咦,帳號密碼勒?」沒錯,Elasticsearch 和 Kibana 是沒有提供一般常見的使用者模組,你只能透過 Bind IP 或是 Bind Port 的方式設定內網使用,但如果你跟敝公司一樣沒有固定 IP,或是你想要設定幾組帳密來使用的話,就繼續讀下去吧,這篇文章將會分享當 Elasticsearch 和 Kibana 的基本使用者認證該如何設定,採用 HTTP Auth 的方式。
String Split in Elasticsearch Script Field (Painless)
看到這篇文章,相信你一定尋找怎麼在 Elasticsearch (或是 Kibana)的 Script Field 使用 Split 很久了吧! 這邊我可是特意把所有你會想到的關鍵字都用上了,就是為了讓跟我一樣苦命的工程師不要浪費太多人生在這件事情上…
很快的先講結論,雖然 Painless 號稱支援 Java Native API,但恰恰有幾個不支援,其中一個就是 split,據說是因為 Elasticsearch 開發團隊覺得 split 時間複雜度太差,所以把它割掉了,而我一開始不知道這件事情,嘗試了各種方式,從語法是否正確一路懷疑到是否需要寫什麼特殊的語法來 Import Java API,最後在 Elasticsearch 的 Issue 上看到這篇 【Painless – Request for native String split function】,當下我的心情……
How to make elasticsearch.py Fast (Bulk Operate)
用 Python 操作 Elasticsearch 時不免俗的肯定會安裝官方推出的 elasticsearch.py,最近在用 Python 接收 Email Log 並寫入 Elasticsearch 時有蠻多心得可以分享的,大家都知道 AWS lambda 是用執行時間算錢的,所以在撰寫 AWS Lambda 時我可說是分秒必爭,看到執行超過 0.5 秒就各種吐血,所以從最開始的 .index 一筆一筆插入資料到 Elasticsearch,到後來用 streaming_bulk 處理,最後受不了用 parallel_bulk 混合 streaming_bulk 操作,以下就來聊聊這幾種方式的差異以及地雷吧!