我有如下映射的元素
"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"
}
}
}
它将起作用,因为我的所有文档都在这两个范围之间,但不起作用。我需要显示更多查询还是在这里做错了什么?
答案 0 :(得分:1)
您的metadata
字段为nested
,因此您必须使用nested
查询(https://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"
}
}
}
}
}
}