何回かシステムを吹き飛ばしながら、勝手にレベル分けしてみました。
勝手に書いているので、あとで怒られそうです(笑)
レプリカシャードを多重化すべきもの、二重化でよいもの、飛んだら作り直せばいいや、の3つに分けてみました。
■飛ばしてはいけないインデックス(多重化)
- fess_log
- .configsync
- .fess_config
- .fess_user
■飛んでもUIから復旧できるインデックス(二重化)
- .suggest
- .suggest_analyzer
- .suggest_array
- .suggest_badword
- .suggest_elevate
■飛んでも再クロールで何とかなるインデックス
- fess.yyyymmdd
- .crawler
- fess.suggest.yyyymmddhhmmss
特に「fess.suggest.yyyymmddhhmmss」は、Suggest Indexerが走るたびに生成されるので、使い捨てで構わないでしょう。
「.crawler」は使い捨てと言いづらいですが、数十万件のインデックスなら再巡回すればよいかと思います。
メインのインデックス「fess.yyyymmdd」は難しい所です。本当は多重化したいのですが、数百GBになるので、ストレージの確保が大変ですね。
僕は割り切って、「二重化+S3スナップショット」で運用しています。
elasticsearchベースのFESSは、最初に2基のクラスタで動かしておけば、容易に拡張できるようになっています。小さく始められるのがいいですね。