2017年12月16日土曜日

FESSのインデックスを勝手に分類する

FESSはオンラインの文献が少ないので、手探りで動かしています。
何回かシステムを吹き飛ばしながら、勝手にレベル分けしてみました。
勝手に書いているので、あとで怒られそうです(笑)

レプリカシャードを多重化すべきもの、二重化でよいもの、飛んだら作り直せばいいや、の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基のクラスタで動かしておけば、容易に拡張できるようになっています。小さく始められるのがいいですね。