我积极使用脚本进行评分和汇总。我不知道的一件事是如何从脚本发出日志。我尝试了console.log,但后来没有成功。请让我知道,我该如何从常规脚本中发出日志。
这可以通过访问全局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的好人针对问题提供了很好的文档。
链接-https: //github.com/elasticsearch/elasticsearch/issues/9068
我在这里也给出了一些例子。