[英]Split on Token not found in kibana
I am trying to split string with comma in kibana painless script as below:我正在尝试在 kibana 无痛脚本中用逗号分割字符串,如下所示:
def skillid = doc['skillid.keyword'].value; def Skillid = doc['skillid.keyword'].value;
List lstskills = new ArrayList();列出 lstskills = new ArrayList();
lstskills = skillid.splitOnToken(','); lstskills = Skillid.splitOnToken(',');
With this,i am getting error as: dynamic method [java.lang.string splitOnToken/1]not found.有了这个,我收到错误:找不到动态方法[java.lang.string splitOnToken/1]。
Is there any way to split string in kibana without using split function?有没有办法在不使用拆分 function 的情况下拆分 kibana 中的字符串? And is regex safe to use in kibana script?
在 kibana 脚本中使用正则表达式是否安全?
This simplified version might work.这个简化的版本可能会起作用。 Instead of creating a separate variable you can directly apply splitOnToken(str) method.
您可以直接应用 splitOnToken(str) 方法,而不是创建单独的变量。 Also, you need not create a separate list if you want to save the result in a separate field on ES, as it automatically returns the list after splitting and you can assign the result to a field on which you want to store the result.
另外,如果要将结果保存在 ES 上的单独字段中,则无需创建单独的列表,因为它会在拆分后自动返回列表,您可以将结果分配给要存储结果的字段。 In case
如果
Worked for me in elasticsearch-7.9.3在 elasticsearch-7.9.3 中为我工作
Your code like this should work:你这样的代码应该可以工作:
doc['newField'] = doc['skillid.keyword'].splitOnToken(',');
doc['newField'] = doc['skillid.keyword'].splitOnToken(',');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.