URIパーツプロセッサ

Uniform Resource Identifier (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 true および field が存在しない場合、プロセッサは静かに終了し、ドキュメントを変更しません。
description いいえ - プロセッサの説明。プロセッサの目的や設定を説明するのに役立ちます。
if いいえ - プロセッサを条件付きで実行します。条件付きでプロセッサを実行するを参照してください。
ignore_failure いいえ false プロセッサの失敗を無視します。パイプラインの失敗を処理するを参照してください。
on_failure いいえ - プロセッサの失敗を処理します。パイプラインの失敗を処理するを参照してください。
tag いいえ - プロセッサの識別子。デバッグやメトリクスに役立ちます。

ここにURIパーツプロセッサの定義の例があります:

Js

  1. {
  2. "description" : "...",
  3. "processors" : [
  4. {
  5. "uri_parts": {
  6. "field": "input_field",
  7. "target_field": "url",
  8. "keep_original": true,
  9. "remove_if_successful": false
  10. }
  11. }
  12. ]
  13. }

上記のプロセッサが次のドキュメントで実行されると:

Js

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

これにより、次の結果が得られます:

Js

  1. "_source" : {
  2. "input_field" : "http://myusername:[email protected]:80/foo.gif?key1=val1&key2=val2#fragment",
  3. "url" : {
  4. "path" : "/foo.gif",
  5. "fragment" : "fragment",
  6. "extension" : "gif",
  7. "password" : "mypassword",
  8. "original" : "http://myusername:[email protected]:80/foo.gif?key1=val1&key2=val2#fragment",
  9. "scheme" : "http",
  10. "port" : 80,
  11. "user_info" : "myusername:mypassword",
  12. "domain" : "www.example.com",
  13. "query" : "key1=val1&key2=val2",
  14. "username" : "myusername"
  15. }
  16. }