无法让elasticsearch范围查询工作

用户254694

我的元素映射如下

"metadata": {
                    "type": "nested",
                    "properties": {
                        "PublicationDate": {
                            "type": "date",
                            "format": "yyyy-M-d" 
                        },

这似乎不会引起任何问题,这些元素中的内容如下所示

"metadata":{"PublicationDate":"2019-7-1"}}

所以我预计当我进行如下范围查询时

must": {
     "range" : {
         "metadata.PublicationDate" : {
            "gte": "2011-07-01",
            "lte": "2020-07-01"
          }
      }

}

它会起作用,因为我所有的文档都在这两个范围之间,但它不起作用。我是否需要显示更多查询,还是我做错了什么?

巴努杰

您的metadata字段是nested,因此您必须使用查询来查询它nestedhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html

所以,你的查询需要是

{
    "query": {
        "nested": {
            "path": "metadata",
            "query": {
                "range": {
                    "metadata.PublicationDate": {
                        "gte": "2011-07-01",
                        "lte": "2020-07-01"
                    }
                }
            }
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章