重新索引你的數據盡管可以增加新的類型到索引中,或者增加新的字段到類型中,但是不能添加新的分析器或者對現有的字段做改動。 如果你那么做的話,結果就是那些已經被索引的數據就不正確,搜索也不能正常工作。 對現有數據的這類改變最簡單的辦法就是重新索引:用新的設置創建新的索引并把文檔從舊的索引復制到新的索引。 字段 從Elasticsearch v2.3.0開始, {ref}/docs-reindex.html[Reindex API] 被引入。它能夠對文檔重建索引而不需要任何插件或外部工具。 批量重新索引
同時并行運行多個重建索引任務,但是你顯然不希望結果有重疊。正確的做法是按日期或者時間這樣的字段作為過濾條件把大的重建索引分成小的任務: GET /old_index/_search?scroll=1m { "query": { "range": { "date": { "gte": "2014-01-01", "lt": "2014-02-01" } } }, "sort": ["_doc"], "size": 1000 } 如果舊的索引持續會有變化,你希望新的索引中也包括那些新加的文檔。那就可以對新加的文檔做重新索引,但還是要用日期類字段過濾來匹配那些新加的文檔。 |
|
來自: 憤怒的蔥花 > 《Elasticsearch--A》