ElasticSearch URI 搜索空字段
ElasticSearch URI Search null field
我需要通过 URI 创建一个查询来过滤两个日期之间的所有数据,以及这个日期字段是否为空。
例如:
我在某些对象中有字段 "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"
}
}
}
您可以使用 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)
我需要通过 URI 创建一个查询来过滤两个日期之间的所有数据,以及这个日期字段是否为空。
例如: 我在某些对象中有字段 "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"
}
}
}
您可以使用 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)