2

Elasticsearch v7.9 を使用しており、取り込み中にエイリアス名ではなくインデックス名を取得する必要があります。

エイリアス名= employees_prod およびインデックス名= employees

POST /employees_prod/_doc?pipeline=test-pipeline&refresh
{
  "name": "Quick Brown Fox",
  "created_date": "2021-04-12T19:45:19Z"
}

上記のようにドキュメント作成用のエイリアス名を渡すと、elasticsearch ingest プラグインでの取り込み時にingestDocument.getSourceAndMetadata() .get("_index") を使用すると、エイリアス名が取得されます。

エイリアス名の代わりにインデックス名を取得する方法はありますか?

インデックス名を取得するために、以下のようにパイプラインで動的な値を設定しようとしました。しかし、それは私にはうまくいきません。

PUT /_ingest/pipeline/test-pipeline
{
  "description": "ES pipeline",
  "processors": [
    {
      "test_ingest_processor": {
        "field": [
          "test_type:test_key",
        ]
      },
     "set": {
        "description": "Set Index value",
        "field": "_index",
        "value": "{{_index}}"
      }
    }
  ]
}
4

0 に答える 0