7

我有一个相当复杂的聚合,它的复杂性是由于缺少 has_parent 聚合造成的。既然如此,它是使用 groovy 实现的。我唯一的问题是过滤聚合中计算的文档。

聚合看起来像这样:https ://gist.github.com/serj-p/c4fcc9810b3b627de294 这个聚合的目的是建立顶级大学联系人毕业。联系人文档具有子文档,即 Facebook 个人资料。最后一个有代表大学的嵌套字段,这就是我访问 _source 字段的原因。

正如您可能看到的,我在开始时执行过滤:

                      {
                        "match_phrase_prefix": {
                          "organizations.name": "stan"
                        }
                      }

排除没有相关文档的联系人。“organizations.name”被分析为

           {
                "filter": [
                    "lowercase",
                    "standard",
                    "trim",
                    "asciifolding",
                ],
                "type": "custom",
                "tokenizer": "standard"
            }

正在以相同的方式分析用于过滤此字段的 appleid 文本。我发现很难在脚本内对字段值和过滤文本进行相同的处理,以过滤特定的嵌套文档。这就是为什么我正在寻找一些从脚本访问 ES API 的可能性。

提前感谢您的任何建议

4

0 回答 0