elasticsearch aggregation

时间:2015-06-17 14:27:23

标签: elasticsearch

在Elasticsearch中,我想知道(子)聚合中使用的脚本范围内可用的变量。

我已经阅读了scriptingtext scoring in scripts上的资源以及大多数聚合类型的文档,但无法根据具体情况找到可以使用的内容的全面参考。

根据我的收集情况,聚合中的大多数脚本都是每次点击,并且可以访问以下范围:

  • 文档字段,通过doc['field_name'].*
  • 从索引解析的文档,通过_source
  • 存储的字段,通过_fields['field_name']
  • 文件得分,通过_score
  • 分片统计信息,通过_index.*
  • 每个分片字段统计信息,通过_index['field_name'].*
  • 每个分片的术语统计信息,通过_index['field_name']['term'].*

Scripted Metric 聚合还会在每个分片&amp;中显示_agg变量。 每次点击脚本(init,地图和组合脚本)以及协调节点级别的<{1}}变量(简化脚本)。 当然,map脚本还可以访问上面定义的每个其他每个命中变量。 我找不到文档,指出{-1}}是否在每个分片脚本中可用,但它似乎是逻辑的。 此外,scripted_metric是我可以找到的分片或协调节点级别的脚本的唯一情况。

Signicant Terms 聚合有一个特殊情况,即运行评分脚本 per-bucket ,范围内包含以下变量:

  • _aggs
  • _index*
  • _subset_freq
  • _superset_freq

然而,它似乎无法访问其他依赖于桶的内容,例如桶密钥(术语)或单值度量子聚合,这是一个很小的因为它非常有用(至少,我可以找不到任何关于如何访问这种依赖于桶的信息的文档。)

条款聚合还有一个特殊情况的值脚本(当定义参数_subset_size_superset_size时),它只能访问{{1}变量。

此处总结的信息是否准确/完整?

0 个答案:

没有答案