我需要通过URI创建一个查询,以过滤两个日期之间以及此日期字段为null时的所有数据。
例如: 我在某些对象中具有字段“ creation_date”,但是我希望结果中也不会出现该字段所没有的对象。
我在下面尝试了类似的方法:
http://localhost//elasticsearch/channels/channel/_search?q=channel.schedule.creation_date:[2018-06-19 TO 2018-12-22] OR channel.schedule.creation_date: NULL
只要比较日期就可以了。问题是要获取NULL值。
已编辑 源样本:
"_source": {
"channel": {
"activated": false,
"approved": false,
"content": "Jvjv",
"creation_date": "2018-06-21T13:06:10.000Z",
"facebookLink": "J jv",
"id": "Kvjvjv",
"instagramId": "Jvjv",
"name": "Kbkbkvk",
"ownerId": "sZtxdhiNbNY9sr2DtiCzlgJfsqb2",
"plan": 0,
"purpose": "Jvjv",
"recurrence": 1,
"segment": "Jvjvjv",
"twitterId": "Jvjv",
"youtubeId": "Jvj"
}
}
}
答案 0 :(得分:1)
您可以使用NOT(_exists_:field_name)
约束来做到这一点:
你可以试试吗?
http://localhost//elasticsearch/channels/channel/_search?q=channel.schedule.creation_date:[2018-06-19 TO 2018-12-22] OR NOT(_exists_:channel.schedule.creation_date)