我在弹性搜索实例中执行这个groovy脚本。这是位于/usr/share/elasticsearch/config/scripts
:
def opDate = new DateTime(doc['" + field + "'].date);opDate.getYear();
已经达成了,ES正在尝试执行它,不过它告诉我:
No field found for [" + field + "] in mapping with types [fuas]
这是我发送给ES的Java代码:
AggregationBuilders
.terms(this.getName())
.field(this.getName())
.script(
new Script(
"year",
ScriptType.FILE,
"groovy",
ImmutableMap.of("field", this.getName())
)
);
答案 0 :(得分:1)
你的报价太多了。像这样修改你的脚本(field
是脚本的参数):
def opDate = new DateTime(doc[field].date);opDate.getYear();