URI 部分处理器编辑

解析统一资源标识符 (URI) 字符串并将其组件提取为对象。此 URI 对象包含 URI 的域、路径、片段、端口、查询、方案、用户信息、用户名和密码的属性。

表 47. URI 部分选项

名称 必需 默认值 描述

field

-

包含 URI 字符串的字段。

target_field

url

URI 对象的输出字段。

keep_original

true

如果 true,处理器会将未解析的 URI 复制到 <target_field>.original

remove_if_successful

false

如果 true,处理器在解析 URI 字符串后会删除 field。如果解析失败,处理器不会删除 field

ignore_missing

false

如果 truefield 不存在,处理器会静默退出,不会修改文档。

description

-

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

if

-

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

ignore_failure

false

忽略处理器的失败。请参阅 处理管道失败

on_failure

-

处理处理器的失败。请参阅 处理管道失败

tag

-

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

以下是一个 URI 部分处理器定义示例

{
  "description" : "...",
  "processors" : [
    {
      "uri_parts": {
        "field": "input_field",
        "target_field": "url",
        "keep_original": true,
        "remove_if_successful": false
      }
    }
  ]
}

当上述处理器在以下文档上执行时

{
  "_source": {
    "input_field": "http://myusername:[email protected]:80/foo.gif?key1=val1&key2=val2#fragment"
  }
}

它会产生以下结果

"_source" : {
  "input_field" : "http://myusername:[email protected]:80/foo.gif?key1=val1&key2=val2#fragment",
  "url" : {
    "path" : "/foo.gif",
    "fragment" : "fragment",
    "extension" : "gif",
    "password" : "mypassword",
    "original" : "http://myusername:[email protected]:80/foo.gif?key1=val1&key2=val2#fragment",
    "scheme" : "http",
    "port" : 80,
    "user_info" : "myusername:mypassword",
    "domain" : "www.example.com",
    "query" : "key1=val1&key2=val2",
    "username" : "myusername"
  }
}