文档中有一个字段extra.subjectNo(这个字段不是所有文档中都存在的),本来应该是整数,但是保存成字符串了。需要做统计,所以想添加一个Scripted fields,把这个字段转成int。但是创建后,在Discover中普通查询总是提示5 of 3567 shards failed。请问是什么原因呢?
这是创建的Scripted fields:
if (ctx._source.containsKey('extra.subjectNo')) {
return Integer.parseInt(doc['extra.subjectNo'].value);
} else {
return 0;
}
这是创建的Scripted fields:
if (ctx._source.containsKey('extra.subjectNo')) {
return Integer.parseInt(doc['extra.subjectNo'].value);
} else {
return 0;
}
1 个回复
uuuu
赞同来自:
String v = doc['extra.subjectNo.keyword'].value; if (v != null) { return Integer.parseInt(v); } else { return -1; }