Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Ingest pipelines ›Ingest processor reference

Обработчик доменного имени

Извлекает зарегистрированное доменное имя (также известное как эффективное доменное имя верхнего уровня или eTLD), поддомен и домен верхнего уровня из полного доменного имени (FQDN). Использует зарегистрированные домены, определённые в списке общедоступных префиксов доменов Mozilla.

Таблица 36. Параметры обработки доменного имени

Имя Обязательно По умолчанию Описание

field

да

Поле, содержащее исходное FQDN.

target_field

нет

<empty string>

Объектное поле, содержащее извлечённые компоненты домена. Если поле <empty string>, процессор добавляет компоненты в корень документа.

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"
          }
        }
      }
    }
  ]
}

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/registered-domain-processor.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API