インジェストプロセッサーリファレンス
インジェストパイプラインは、ドキュメントがインデックスに取り込まれる際に適用されるプロセッサーのシーケンスで構成されています。各プロセッサーは、データのフィルタリング、変換、または強化など、特定のタスクを実行します。
各プロセッサーは前のプロセッサーの出力に依存しているため、プロセッサーの順序は重要です。すべてのプロセッサーが適用された後、修正されたドキュメントはElasticsearchにインデックスされます。
Elasticsearchには、40以上の構成可能なプロセッサーが含まれています。このセクションのサブページには、各プロセッサーのリファレンスドキュメントが含まれています。利用可能なプロセッサーのリストを取得するには、nodes info APIを使用してください。
Python
resp = client.nodes.info(
node_id="ingest",
filter_path="nodes.*.ingest.processors",
)
print(resp)
Ruby
response = client.nodes.info(
node_id: 'ingest',
filter_path: 'nodes.*.ingest.processors'
)
puts response
Js
const response = await client.nodes.info({
node_id: "ingest",
filter_path: "nodes.*.ingest.processors",
});
console.log(response);
コンソール
GET _nodes/ingest?filter_path=nodes.*.ingest.processors
カテゴリ別インジェストプロセッサー
このページでは、利用可能なプロセッサーをカテゴリ別に分類し、その機能を要約しています。これにより、ユースケースに適したプロセッサーを見つけるのに役立ちます。
データ強化プロセッサー
一般的な結果
append
プロセッサー- フィールドに値を追加します。
date_index_name
プロセッサー- 日付またはタイムスタンプフィールドに基づいて、ドキュメントを適切な時間ベースのインデックスにポイントします。
enrich
プロセッサー- 別のインデックスからデータでドキュメントを強化します。
詳細な例については、データを強化するを参照して、enrich
プロセッサーを使用して、既存のインデックスから受信ドキュメントにデータを追加する方法を確認してください。
inference
プロセッサー- 機械学習を使用して、テキストフィールドを分類およびタグ付けします。
特定の結果
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
プロセッサー- 現在の認証ユーザーから現在のドキュメントに対して、ユーザー関連の詳細(
username
、roles
、email
、full_name
、metadata
、api_key
、realm
および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
プロセッサー- フィールドに値を設定します。
特定の結果
bytes
プロセッサー- 人間が読みやすいバイト値をバイト単位の値に変換します(たとえば、
1kb
は1024
になります)。 csv
プロセッサー- テキストフィールドからCSVデータの単一行を抽出します。
date
プロセッサー- 日付フィールドを抽出して変換します。
dot_expand
プロセッサー- ドットを含むフィールドをオブジェクトフィールドに展開します。
html_strip
プロセッサー- フィールドからHTMLタグを削除します。
join
プロセッサー- 配列の各要素を区切り文字を使用して単一の文字列に結合します。
kv
プロセッサー- キーと値のペアを含むメッセージ(または特定のイベントフィールド)を解析します。
lowercase
プロセッサーおよびuppercase
プロセッサー- 文字列フィールドを小文字または大文字に変換します。
split
プロセッサー- フィールドを値の配列に分割します。
trim
プロセッサー- フィールドから空白をトリムします。
データフィルタリングプロセッサー
drop
プロセッサー- エラーを発生させずにドキュメントをドロップします。
remove
プロセッサー- ドキュメントからフィールドを削除します。
パイプライン処理プロセッサー
fail
プロセッサー- 例外を発生させます。パイプラインが失敗することを予期している場合に、リクエスターに特定のメッセージを伝えるのに役立ちます。
pipeline
プロセッサー- 別のパイプラインを実行します。
reroute
プロセッサー- ドキュメントを別のターゲットインデックスまたはデータストリームに再ルーティングします。
配列/JSON処理プロセッサー
for_each
プロセッサー- 配列またはオブジェクトの各要素にインジェストプロセッサーを実行します。
json
プロセッサー- JSON文字列を構造化されたJSONオブジェクトに変換します。
script
プロセッサー- 受信ドキュメントに対してインラインまたは保存されたスクリプトを実行します。スクリプトはpainless
ingest
コンテキストで実行されます。 sort
プロセッサー- 配列の要素を昇順または降順にソートします。
追加のプロセッサーを追加
追加のプロセッサーはプラグインとしてインストールできます。
クラスター内のすべてのノードにプラグインプロセッサーをインストールする必要があります。そうしないと、Elasticsearchはプロセッサーを含むパイプラインを作成できません。
プラグインを必須としてマークするには、plugin.mandatory
をelasticsearch.yml
に設定します。必須プラグインがインストールされていない場合、ノードは起動に失敗します。
Yaml
plugin.mandatory: my-ingest-plugin