次のシナリオに対処する方法について明確に理解したいと思います。
activerecord モデルに属性を追加または削除しているので、本番環境で ElasticSearch のマッピングを更新したいと考えています。
私が理解したことから、私は...
1- 新しいインデックスを作成し、mysql からすべてをインポートします
これは正しいコマンドですか?rake environment tire:import CLASS='Bow' INDEX='new-bows'
これで正しいマッピングを作成するには、モデル内のマッピングを既に更新しているはずですよね?
2- 古いマッピングを削除し、次の名前のエイリアスを作成しbows
ますnew-bows
私はそのようにします、それは正しいですか?
old_index_name = Bow.tire.index.name
Bow.tire.index.delete
alias = Tire::Alias.new
alias.name(old_index_name)
alias.index('new-bows')
alias.save
3-アプリを再起動します
何か不足していますか、それともタイヤを使用して目的を達成するためのより簡単な方法はありますか?
どの時点で古いインデックスを削除する必要がありますか? 同じ名前でエイリアスを作成する前に、または後で作成できますか?