天天看點

3.8 ElasticSearch資料模組化之Reindex

1.簡介

reindex指重建所有資料的過程,一般在mapping設定變更(字段類型和分詞器字段更新)、index設定變更(分片和副本數更改等)以及資料遷移場景下使用。elasticsearch提供了兩個現成的API用于完成該工作,一個是在現有索引上重建的_update_by_query,另一個是在其它索引上重建的_reindex。

POST /blog_comment_index/_update_by_query?conflicts=proceed      
{
  "script": {
    "source": "ctx._source.likes++",
    "lang": "painless"
  },
  "query": {
    "match": {
      "author": "steven"
    }
  }
}      
  • conficts:如果遇到版本沖突,覆寫并繼續執行
  • script:以程式設計語言的方式去更新文檔的字段值
  • query:按照條件去更新部分文檔
POST /_reindex      
{
  "conflicts": "proceed",
  "source": {
    "index": "blog_comment_index",
    "query": {
      "match": {
        "author": "steven"
      }
    }
  },
  "dest": {
    "index": "blog_comment_index_new"
  }
}      

繼續閱讀