注册域名处理器

编辑

从完全限定域名 (FQDN) 中提取注册域名(也称为有效顶级域名或 eTLD)、子域名和顶级域名。使用Mozilla 公共后缀列表中定义的注册域名。

表 36. 注册域名选项

名称 必填 默认值 描述

field

包含源 FQDN 的字段。

target_field

<空字符串>

包含提取的域名组件的对象字段。如果为<空字符串>,则处理器将组件添加到文档的根目录。

ignore_missing

true

如果true且缺少任何必填字段,则处理器将静默退出,而不会修改文档。

description

-

处理器的描述。用于描述处理器的用途或其配置。

if

-

有条件地执行处理器。请参阅有条件地运行处理器

ignore_failure

false

忽略处理器的错误。请参阅处理管道错误

on_failure

-

处理处理器的错误。请参阅处理管道错误

tag

-

处理器的标识符。用于调试和指标。

示例
编辑

以下示例说明了注册域名处理器的用法

resp = client.ingest.simulate(
    pipeline={
        "processors": [
            {
                "registered_domain": {
                    "field": "fqdn",
                    "target_field": "url"
                }
            }
        ]
    },
    docs=[
        {
            "_source": {
                "fqdn": "www.example.ac.uk"
            }
        }
    ],
)
print(resp)
response = client.ingest.simulate(
  body: {
    pipeline: {
      processors: [
        {
          registered_domain: {
            field: 'fqdn',
            target_field: 'url'
          }
        }
      ]
    },
    docs: [
      {
        _source: {
          fqdn: 'www.example.ac.uk'
        }
      }
    ]
  }
)
puts response
const response = await client.ingest.simulate({
  pipeline: {
    processors: [
      {
        registered_domain: {
          field: "fqdn",
          target_field: "url",
        },
      },
    ],
  },
  docs: [
    {
      _source: {
        fqdn: "www.example.ac.uk",
      },
    },
  ],
});
console.log(response);
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "registered_domain": {
          "field": "fqdn",
          "target_field": "url"
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "fqdn": "www.example.ac.uk"
      }
    }
  ]
}

产生以下结果

{
  "docs": [
    {
      "doc": {
        ...
        "_source": {
          "fqdn": "www.example.ac.uk",
          "url": {
            "subdomain": "www",
            "registered_domain": "example.ac.uk",
            "top_level_domain": "ac.uk",
            "domain": "www.example.ac.uk"
          }
        }
      }
    }
  ]
}