弹性搜索:我有一个包含 属性 d1 的 df 字段的索引映射。我要查询w.r.t这个字段

Elastic Search: I have an index mapping with a df field that contains property d1. I want to query w.r.t this field

索引映射

{
    "test": {
        "mappings": {
            "_doc": {
                "properties": {
                    "@timestamp": {
                        "type": "date"
                    },
                    "@version": {
                        "type": "long"
                    },
                    
                    "df": {
                        "properties": {
                            "d1": {
                                "type": "date"
                            }
                        }
                    },
                    "deleted": {
                        "type": "boolean"
                    },
                }
            }
        }
    }
}

我想做什么? 我需要在 df 字段中访问 d1 属性 。但它不工作并给出错误。

查询我正在尝试

{
    "query": {
        "bool": {
            "must": [
                {
                    "bool": {
                        "should": [
                            {
                                "bool": {
                                    "must": [
                                        {
                                            "script": {
                                                "script": {
                                                    "source": "doc.df.d1.date.getMonthOfYear()"
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "bool": {
                        "must_not": [
                            {
                                "match": {
                                    "deleted": true
                                }
                            }
                        ]
                    }
                }
            ]
        }
    }
}

这给出了错误。我添加这些行是因为如果没有这些额外的文本,我将无法提交问题。

请询问是否需要任何其他说明。

您的脚本需要像这样访问字段:

doc['df.d1'].date.getMonthOfYear()