English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Elasticsearch Ingest ノード

index.blocks.read_only1 true/false

trueに設定すると、インデックスとインデックスメタデータは読み取り専用になり、falseに設定すると書き込みとメタデータの変更が許可されます。

時には、ドキュメントをインデックスする前にそれをインデックスする必要があります。例えば、ドキュメントからフィールドを削除したり、フィールドの名前を変更してからインデックスすることもあります。これをイングレストノードが処理します。

クラスタ内の各ノードは抽出機能を持っていますが、特定のノードのみで処理されるようにカスタマイズすることもできます。

ステップ

イングレストノードの作業は二つのステップに分かれます-

  • パイプラインの作成

  • ファイルの作成

パイプラインの作成

まず、処理エンジンを含むパイプラインを作成し、そのパイプラインを実行します。以下のように-

PUT _ingest/pipeline/int-converter
{
   "description": "converts the content of the seq field to an integer"
   "processors" : [
      {
         "convert" : {
            "field" : "seq",
            "type": "integer"
         }
      }
   ]
}

上記のコードを実行すると、以下のような結果が得られます-

{
   "acknowledged" : true
}

ファイルの作成

次に、私たちはパイプラインコンバータを使用してドキュメントを作成します。

PUT /logs/_doc/1?pipeline=int-converter
{
   "seq":"21",
   "name":"w"3codebox",
   "Addrs":"Hyderabad"
}

上記のコードを実行すると、以下のように応答が得られます:

{
   "_index" : "logs",
   "_type" : "_doc",
   "_id" : "1",
   "_version" : 1,
   "result" : "created"
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   },
   "_seq_no" : 0,
   "_primary_term" : 1
}

次に、私たちは上で作成したドキュメントをGETコマンドを使用して検索します。以下のように-

GET /logs/_doc/1

上記のコードを実行すると、以下のような結果が得られます-

{
   "_index" : "logs",
   "_type" : "_doc",
   "_id" : "1",
   "_version" : 1,
   "_seq_no" : 0,
   "_primary_term" : 1,
   "found" : true,
   "_source" : {
      "Addrs" : "Hyderabad",
      "name" : "w"3codebox",
      "seq" : 21
   }
}

上から見て21整数に変換されます。

パイプラインなし

今、私たちはパイプラインを使用せずにドキュメントを作成することができます。

PUT /logs/_doc/2
{
   "seq":"11",
   "name":"Tutorix",
   "Addrs":"Secunderabad"
}
GET /logs/_doc/2

上記のコードを実行すると、以下のような結果が得られます-

{
   "_index" : "logs",
   "_type" : "_doc",
   "_id" : "2",
   "_version" : 1,
   "_seq_no" : 1,
   "_primary_term" : 1,
   "found" : true,
   "_source" : {
      "seq" : "11",
      "name" : "Tutorix"
      "Addrs" : "Secunderabad"
   }
}

上に見ることができます11パイプを使用しない文字列です。