给出以下映射:
"item": {
"properties": {
"name": {
"type": "string",
"index": "standard"
},
"state": {
"type": "string",
"index": "not_analyzed"
},
"important_dates": {
"properties": {
"city_id": {
"type": "integer"
},
"important_date": {
"type": "date",
"format": "dateOptionalTime"
}
}
}
}
}
并在索引中给出以下项目:
{
"_id": 1,
"name": "test data 1",
"state": "california",
"important_dates": [
{
"city_id": 100,
"important_date": "2016-01-01T00:00:00"
},
{
"city_id": 200,
"important_date": "2016-05-15T00:00:00"
}
},
{
"_id": 2,
"name": "test data 2",
"state": "wisconsin",
"important_dates": [
{
"city_id": 300,
"important_date": "2016-04-10T00:00:00"
},
{
"city_id": 400,
"important_date": "2016-05-20T00:00:00"
}
}
是否可以对important_dates进行范围过滤,但只能使用important_dates数组中的最小日期进行过滤?如果将city_id作为参数提供,这还可以扩展为仅使用特定城市的日期吗?
示例查询:
如果我在important_dates上有4/9/2016到5/17/2016的范围过滤器,我只想回到第2项,因为第1项中的最小日期不在给定的范围内。
如果我在important_dates上有2016年4月9日到2016年5月17日的范围过滤范围过滤器并传入city_id 400,我就不会得到任何结果。