ElasticSearch URI 搜索空字段

标签 elasticsearch elasticsearch-5 elasticsearch-plugin

我需要通过 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)

关于ElasticSearch URI 搜索空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51442112/

相关文章:

amazon-web-services - AWS Elasticsearch Service 的 Fluentd 安装说明

elasticsearch - 在NEST或Elasticsearch中指定默认分析器

elasticsearch - 如何在ElasticSearch中组合多个查询

python - 在 Elasticsearch 中过滤特定字段上的查询

elasticsearch - 更新所有文档字段条目

elasticsearch - Elasticsearch 中的 PIT 成本如何?

c# - 使用 NEST for .NET 的 Elasticsearch 5.4 分页

elasticsearch - 弹性查询以搜索术语并在日期范围内

elasticsearch - 从Elasticsearch的基本术语聚合中删除停用词?

elasticsearch - 如何将重新评分插件应用于Elasticsearch查询