我有一个相当复杂的聚合,其复杂性是由缺少has_parent聚合引起的。 因为它是使用groovy实现的。我唯一的问题是过滤聚合中计算的文档。
聚合如下所示:https://gist.github.com/serj-p/c4fcc9810b3b627de294 这种聚合的目的是建立顶尖的大学联系人毕业。 联系人doc具有子文档,这是facebook个人资料。 最后一个有代表大学的嵌套字段,这就是我访问_source字段的原因。
正如您可能看到的,我在开始时执行过滤:
{
"match_phrase_prefix": {
"organizations.name": "stan"
}
}
排除没有相关文档的联系人。 “organizations.name”分析为
{
"filter": [
"lowercase",
"standard",
"trim",
"asciifolding",
],
"type": "custom",
"tokenizer": "standard"
}
正在以相同的方式分析正在过滤此字段的文本。 我发现很难对脚本中的字段值和过滤文本进行相同的处理,这应该过滤特定的嵌套文档。这就是为什么我正在寻找从脚本中访问ES API的可能性。
提前感谢任何建议