我正在寻找如何从数组中过滤日期范围。 示例数据如下所示
"airings":[{
"startTime":"2015-08-29T10:00:00+0000",
"endTime":"2015-08-30T21:30:00+0000"
},{
"startTime":"2015-08-29T10:00:00+0000",
"endTime":"2015-08-31T21:30:00+0000"
}]
需要一个日期范围过滤器,用于搜索给定startTime和endTime之间的播出。我有以下查询,但语法不正确。
{
"query": {
"bool": {
"must": [
{
"range":
{
"airings.startTime": {
"gte": "2015-08-30T12:00:00.000Z"
},
"airings.endTime": {
"lte": "2015-08-30T01:00:00.000Z"
}
}
}
]
}
},
"from": 0,
"size": 128
}
任何人都可以帮助查看阵列上是否有此日期范围功能?这种搜索还有其他选择吗?感谢您的帮助。
答案 0 :(得分:0)
试试这个:
from lib.pygal.*
以下是我用来测试它的一些代码:
http://sense.qbox.io/gist/8f9e747b3e3d8824ee9933b6ceb42b0f98532d28
答案 1 :(得分:0)
POST /flights/airings
{
"startTime":"2015-08-29T10:00:00+0000",
"endTime":"2015-08-30T21:30:00+0000"
}
POST /flights/airings
{
"startTime":"2015-08-29T10:00:00+0000",
"endTime":"2015-08-31T21:30:00+0000"
}
GET /flights/airings/_search
{
"query" : {
"filtered" : {
"query" : { "match_all" : {}},
"filter" : {
"bool" : {
"must" : [{
"range": {
"startTime": {
"lte": "2015-08-30T12:00:00.000Z"
}
}
},
{
"range": {
"endTime": {
"gte": "2015-08-30T01:00:00.000Z"
}
}
}]
}
}
}
}
}