我积极地使用脚本进行评分和聚合。我无法弄清楚的一件事是如何从脚本中发出日志。我试过console.log,但后来没有成功。请告诉我,我如何从我的groovy脚本中发出日志。
答案 0 :(得分:9)
这可以通过访问全局Elasticsearch记录器实例来完成。 它的常见例子如下 您应该能够为javascript和其他脚本语言做类似的事情。
import org.elasticsearch.common.logging.*;
ESLogger logger=ESLoggerFactory.getLogger('myscript');
logger.info('This is a log message');
因此,当您进行术语聚合时,您可以执行以下操作 -
"aggregations": {
"debug":{
"terms":{
"script":"import org.elasticsearch.common.logging.*; ESLogger logger=ESLoggerFactory.getLogger('myscript'); logger.info('This is a log message'); return doc['myField'].value;"
}
}
}
Elasticsearch的一些优秀人员针对某个问题提供了很好的文档。
LINK - https://github.com/elasticsearch/elasticsearch/issues/9068
我还举了一些例子here。