Использование конвейерной загрузки в эластичном поиске для переименования элемента - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь переименовать элемент вasticsearch и столкнулся с проблемой.

Я попытался переименовать этот элемент «список в списки», поэтому я попытался _source.list, и это сработало.

Хорошо, после этого я попытался переименовать _source.list.metaData в metaDatas, иКажется, я столкнулся с проблемой.Вот код, который я использую, и здесь также отображение.

PUT _ingest/pipeline/pipeline_rename_xxx
{
  "description" : "rename xxx",
  "processors" : [
    {
      "rename": {
        "field": "_source.list.metaDatas",
        "target_field": "metaDatas"
      }
    }
  ]
}

{
  "tweet": {
    "mappings": {
      "document": {
        "properties": {
          "list": {
            "properties": {
              "metaData": {



 "reason": "java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: field [_source.list.metaData] doesn't exist"


This is what i am expecting

{
  "tweet": {
    "mappings": {
      "document": {
        "properties": {
          "list": {
            "properties": {
              "metaDatas": {

I will appreciate any help. Thanks

1 Ответ

0 голосов
/ 31 января 2019
POST _reindex
{
  "source": {
    "index": "promoted"
  },
  "dest": {
    "index": "new_promoted"
  }
}

PUT _ingest/pipeline/pipeline_rename_xxx
{
  "description": "rename xxx",
  "processors": [
    {
      "foreach": {
        "field": "list",
        "processor": {
          "foreach": {
            "field": "_ingest._value.promoted.league",
            "processor": {
              "foreach": {
                "field": "_ingest._value.league",
                "processor": {
                  "rename": {
                    "field": "_ingest._value.division.position",
                    "target_field": "_ingest._value.division.positions"
                  }
                }
              }
            }
          }
        }
      }
    }
  ]
}
...