Back to Elasticsearch

Registered domain processor [registered-domain-processor]

docs/reference/enrich-processor/registered-domain-processor.md

9.4.02.5 KB
Original Source

Registered domain processor [registered-domain-processor]

Extracts the registered domain (also known as the effective top-level domain or eTLD), sub-domain, and top-level domain from a fully qualified domain name (FQDN). Uses the registered domains defined in the Mozilla Public Suffix List.

$$$registered-domain-options$$$

NameRequiredDefaultDescription
fieldyesField containing the source FQDN.
target_fieldno<empty string>Object field containingextracted domain components. If an <empty string>, the processor addscomponents to the document’s root.
ignore_missingnotrueIf true and any required fieldsare missing, the processor quietly exits without modifying the document.
descriptionno-Description of the processor. Useful for describing the purpose of the processor or its configuration.
ifno-Conditionally execute the processor. See Conditionally run a processor.
ignore_failurenofalseIgnore failures for the processor. See Handling pipeline failures.
on_failureno-Handle failures for the processor. See Handling pipeline failures.
tagno-Identifier for the processor. Useful for debugging and metrics.

Examples [registered-domain-processor-ex]

The following example illustrates the use of the registered domain processor:

console
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "registered_domain": {
          "field": "fqdn",
          "target_field": "url"
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "fqdn": "www.example.ac.uk"
      }
    }
  ]
}

Which produces the following result:

console-result
{
  "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"
          }
        }
      }
    }
  ]
}

% TESTRESPONSE[s/.../"_index":"_index","_id":"_id","_version":"-3","_ingest":{"timestamp":$body.docs.0.doc._ingest.timestamp},/]