Amazon OpenSearch PPL where命令如何实现字段is not null非空过滤
OpenSearch PPL空值过滤正确写法
AWS OpenSearch的PPL(Piped Processing Language)不兼容标准SQL的field is [not] null语法,需使用内置函数实现空值判断逻辑:
- 如需排除指定字段为非空的文档(仅保留字段为空/不存在的文档),使用
isnull()函数:
示例查询:source = 你的索引名 | where isnull(my_field) | fields 要返回的字段1, 要返回的字段2 - 如需排除指定字段为空的文档(仅保留字段非空的文档),使用
isnotnull()函数:
示例查询:source = 你的索引名 | where isnotnull(my_field) | fields 要返回的字段1, 要返回的字段2
补充说明
isnull()的判断逻辑同时覆盖「字段不存在于文档」、「字段存在但值为null」两种场景,和OpenSearch底层文档存储逻辑一致- 如果你需要仅匹配完全没有对应字段的文档,可以搭配
exists()函数使用,示例:where not exists(my_field)
内容的提问来源于stack exchange,提问作者gbegley
相关产品推荐
相关产品推荐

