一尘不染

如何将一些ElasticSearch数据复制到新索引

elasticsearch

假设我的ElasticSearch中有电影数据,并且我这样创建它们:

curl -XPUT "http://192.168.0.2:9200/movies/movie/1" -d'
{
    "title": "The Godfather",
    "director": "Francis Ford Coppola",
    "year": 1972
}'

我有一堆不同年代的电影。我想复制特定年份(即1972年)中的所有电影,然后将它们复制到新的索引“ 70sMovies”,但是我看不到该怎么做。


阅读 575

收藏
2020-06-22

共1个答案

一尘不染

从ElasticSearch 2.3开始,您现在可以使用内置的_reindexAPI

例如:

POST /_reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}

或仅通过添加过滤器/查询的特定部分

POST /_reindex
{
  "source": {
    "index": "twitter",
    "query": {
      "term": {
        "user": "kimchy"
      }
    }
  },
  "dest": {
    "index": "new_twitter"
  }
}

了解更多:https//www.elastic.co/guide/en/elasticsearch/reference/current/docs-
reindex.html

2020-06-22