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)