我的文档包含多个日期的字段。
"release_date" : [
"2015-07-10",
"2015-07-13",
"2015-07-26",
"2015-07-27"
]
我想过滤所有日期大于另一个给定日期的文件。
当文档只有一个日期时,我能够使用范围过滤器
{
"constant_score": {
"filter": {
"range" : {
"release_date" : {
"gte": "2012-01-01",
}
}
}
}
}
但是现在我有一个以上的约会,我找不到实现类似结果的方法。有可能吗?
谢谢!
答案 0 :(得分:1)
确保您的“release_date”字段已正确映射到日期对象。以下示例适用于您尝试执行的操作:
PUT test1
PUT /test1/_mapping/type1
{
"type1" : {
"properties" : {
"release_date" : {"type" : "date"}
}
}
}
POST test1/type1
{
"release_date" : [
"2014-03-28",
"2010-03-28",
"2011-03-28"
]
}
GET test1/type1/_search
{
"query": {
"filtered": {
"filter": {
"range": {
"release_date": {
"gte": "2013-01-01"
}
}
}
}
}
}