简体   繁体   English

在 kibana 中找不到令牌拆分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM