Search code examples
elasticsearchreindexelasticsearch-nested

elasticsearch reindex. select nested fields


Is it possible to set particular nested fields for reindexing? According to docs https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html#docs-reindex-filter-source, selected fields are array.

    POST _reindex
    {
      "source": {
        "index": "twitter",
        "_source": ["user", "_doc"]
      },
      "dest": {
        "index": "new_twitter"
      }
    }

For example, we need reindex only nested fields of user like "name" and "birthdate": How could it be done? We need something like this:

    POST _reindex
    {
      "source": {
        "index": "twitter",
        "_source": { "user": ["name", "birthdate"], "_doc"]
      },
      "dest": {
        "index": "new_twitter"
      }
    }

Solution

  • POST _reindex 
    {
          "source": {
            "index": "twitter",
            "_source": [ "user.name", "user. birthdate", "_doc"]
          },
          "dest": {
            "index": "twitter_new"
          }
        }
    }
    

    You need to use . to refer them.