FESSは非常に優れたオープンソースの検索システムですが、日本語の形態素辞書についてはデリケートな扱いが必要です。
端的に言えば、辞書を間違えると、インデックスが半落ちします。
僕も時々インデックスを飛ばしているのですが、Kuromoji辞書はかなりデリケートです。
何回か飛ばして、不整合を起こす例を調べたのですが、
1.トークンが重複してはならない
2.分割と読みの文節数が一致していないとならない
3.「ぁ」と「あ」は同一視され、かつトークンが重複してはならない
を守らないとなりません。
今はAccessでトークンがユニークになるようにしています。
Kuromojiが失敗すると、FESSは以下の症状を起こします。
1.プライマリシャードは一見、正常に見える
2.レプリカシャードが徐々に落ちる
3.レプリカシャードを手動でアサインできなくなる
4.レプリカシャードをアサインしても、Translogが0.0%から進まない
こうなったら、まずクローラーを停止して、レプリカの数をゼロに戻します。
辞書を正常に動作していた時に戻して、レプリカを1に戻します。
これで、一応アサインされたら復旧できるのですが、成功率が100%でないので、僕も研究をしているところです。