Hi,
I am using ELK GA 6.3.0.
I am trying to create a scripted field using the below script, in Kibana;
return doc['field_a.keyword'].value.substring(17,4);
below is a sample data in field_a
;
qw_er_qwerty_123_1234.QwertyQwerty.QwertyQwertyQwertyQwerty
below is the mapping;
"field_a": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
When I create the field and go to discover, I am getting shard failed exception and data is not getting populated. Why is this happening?
Thanks
Do all indices and documents have this field and mapping present?
Hi @Christian_Dahlqvist yes, it is present.
I would recommend adding a check to see if the feats exists and is long enough in the script and return a default value if it does not. That will make it more resilient.
Hi @Christian_Dahlqvist , I already did that.. still no hope..
Below is the script;
def token1 = doc['field_a.keyword'].value;
def token2 = '';
if(token1 != null){
int firstIndex = token1.indexOf('.');
if(firstIndex > 0){
token2 = token1.substring(0,firstIndex);
int secondIndex = token2.indexOf('_');
if(secondIndex > 0){
return token2.substring(4,secondIndex);
}
}
return "";
}
return "";
You are still trying to use the field before checking that it exists. Have a look at this thread for an example of how to do it.
system
(system)
Closed
December 24, 2018, 6:37am
7
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.