看到這篇文章,相信你一定尋找怎麼在 Elasticsearch (或是 Kibana)的 Script Field 使用 Split 很久了吧! 這邊我可是特意把所有你會想到的關鍵字都用上了,就是為了讓跟我一樣苦命的工程師不要浪費太多人生在這件事情上…
很快的先講結論,雖然 Painless 號稱支援 Java Native API,但恰恰有幾個不支援,其中一個就是 split,據說是因為 Elasticsearch 開發團隊覺得 split 時間複雜度太差,所以把它割掉了,而我一開始不知道這件事情,嘗試了各種方式,從語法是否正確一路懷疑到是否需要寫什麼特殊的語法來 Import Java API,最後在 Elasticsearch 的 Issue 上看到這篇 【Painless – Request for native String split function】,當下我的心情……