ElasticSearch 摄取管道空值问题

ElasticSearch Ingest Pipeline Null Value Question

如果我在 Filebeat 模块中使用 elasticsearch 摄取管道,我会看到以下语句: 如果:'ctx.json?.userIdentity?.userName == null'

当 json.userIdentity.userName 等于 null 时,如果上面的 if 语句为真,key/value 对会是什么样子? {"json.userIdentity.userName":"null"}、{"json.userIdentity.userName":null} 或其他

另外,如果字段不存在,那么key也等于null,这公平吗?

表示流水线处理器会在以下任一情况下执行:

// no json key
{}

// null json key
{
   "json": null
}

// empty json key
{
   "json": {}
}

// null json.userIdentity key
{
   "json": {
      "userIdentity": null
   }
}

// empty json.userIdentity key
{
   "json": {
      "userIdentity": {}
   }
}

// null json.userIdentity.userName key
{
   "json": {
      "userIdentity": {
         "userName": null
      }
   }
}