インジェストプロセッサーリファレンス

インジェストパイプラインは、ドキュメントがインデックスに取り込まれる際に適用されるプロセッサーのシーケンスで構成されています。各プロセッサーは、データのフィルタリング、変換、または強化など、特定のタスクを実行します。

各プロセッサーは前のプロセッサーの出力に依存しているため、プロセッサーの順序は重要です。すべてのプロセッサーが適用された後、修正されたドキュメントはElasticsearchにインデックスされます。

Elasticsearchには、40以上の構成可能なプロセッサーが含まれています。このセクションのサブページには、各プロセッサーのリファレンスドキュメントが含まれています。利用可能なプロセッサーのリストを取得するには、nodes info APIを使用してください。

Python

  1. resp = client.nodes.info(
  2. node_id="ingest",
  3. filter_path="nodes.*.ingest.processors",
  4. )
  5. print(resp)

Ruby

  1. response = client.nodes.info(
  2. node_id: 'ingest',
  3. filter_path: 'nodes.*.ingest.processors'
  4. )
  5. puts response

Js

  1. const response = await client.nodes.info({
  2. node_id: "ingest",
  3. filter_path: "nodes.*.ingest.processors",
  4. });
  5. console.log(response);

コンソール

  1. GET _nodes/ingest?filter_path=nodes.*.ingest.processors

カテゴリ別インジェストプロセッサー

このページでは、利用可能なプロセッサーをカテゴリ別に分類し、その機能を要約しています。これにより、ユースケースに適したプロセッサーを見つけるのに役立ちます。

データ強化プロセッサー

一般的な結果

詳細な例については、データを強化するを参照して、enrichプロセッサーを使用して、既存のインデックスから受信ドキュメントにデータを追加する方法を確認してください。

特定の結果

  • attachmentプロセッサー
  • PDFやWord文書などのバイナリデータを解析してインデックスします。
  • circleプロセッサー
  • ロケーションフィールドをGeo-Pointフィールドに変換します。
  • community_idプロセッサー
  • ネットワークフローデータのコミュニティIDを計算します。
  • fingerprintプロセッサー
  • ドキュメントの内容のハッシュを計算します。
  • geo_gridプロセッサー
  • グリッドタイルまたはセルのジオグリッド定義を、形状を説明する通常のバウンディングボックスまたはポリゴンに変換します。
  • geoipプロセッサー
  • IPv4またはIPv6アドレスの地理的位置に関する情報を追加します。
  • network_directionプロセッサー
  • ソースIPアドレス、宛先IPアドレス、および内部ネットワークのリストを考慮して、ネットワークの方向を計算します。
  • registered_domainプロセッサー
  • 完全修飾ドメイン名(FQDN)から登録ドメイン(効果的なトップレベルドメインまたはeTLD)、サブドメイン、およびトップレベルドメインを抽出します。
  • set_security_userプロセッサー
  • 現在の認証ユーザーから現在のドキュメントに対して、ユーザー関連の詳細(usernamerolesemailfull_namemetadataapi_keyrealmおよびauthentication_type)を事前処理によって設定します。
  • uri_partsプロセッサー
  • URI(Uniform Resource Identifier)文字列を解析し、そのコンポーネントをオブジェクトとして抽出します。
  • urldecodeプロセッサー
  • 文字列をURLデコードします。
  • user_agentプロセッサー
  • ユーザーエージェント文字列を解析して、Webクライアントに関する情報を抽出します。

データ変換プロセッサー

一般的な結果

  • convertプロセッサー
  • 現在取り込まれているドキュメントのフィールドを異なるタイプに変換します。たとえば、文字列を整数に変換します。
  • dissectプロセッサー
  • ドキュメント内の単一のテキストフィールドから構造化されたフィールドを抽出します。grokプロセッサーとは異なり、dissectは正規表現を使用しません。これにより、dissectはよりシンプルで、しばしば高速な代替手段となります。
  • grokプロセッサー
  • ドキュメント内の単一のテキストフィールドから構造化されたフィールドを抽出します。Grok正規表現ダイアレクトを使用して、再利用可能なエイリアス式をサポートします。
  • gsubプロセッサー
  • 正規表現と置換を適用して文字列フィールドを変換します。
  • redactプロセッサー
  • Grokルールエンジンを使用して、指定されたGrokパターンに一致する入力ドキュメント内のテキストを隠します。
  • renameプロセッサー
  • 既存のフィールドの名前を変更します。
  • setプロセッサー
  • フィールドに値を設定します。

特定の結果

データフィルタリングプロセッサー

パイプライン処理プロセッサー

  • failプロセッサー
  • 例外を発生させます。パイプラインが失敗することを予期している場合に、リクエスターに特定のメッセージを伝えるのに役立ちます。
  • pipelineプロセッサー
  • 別のパイプラインを実行します。
  • rerouteプロセッサー
  • ドキュメントを別のターゲットインデックスまたはデータストリームに再ルーティングします。

配列/JSON処理プロセッサー

追加のプロセッサーを追加

追加のプロセッサーはプラグインとしてインストールできます。

クラスター内のすべてのノードにプラグインプロセッサーをインストールする必要があります。そうしないと、Elasticsearchはプロセッサーを含むパイプラインを作成できません。

プラグインを必須としてマークするには、plugin.mandatoryelasticsearch.ymlに設定します。必須プラグインがインストールされていない場合、ノードは起動に失敗します。

Yaml

  1. plugin.mandatory: my-ingest-plugin