Hyper Estraier bug report
前回の続きです。
Hyper Estraierのインデックスがoptimizeで壊れる問題はHyper Estraier側の問題でした。
- 転置インデックスが複数ファイルにまたがる (通常1.5GiB以上)。
- 複数回の書き込みが行われている。
上記に当てはまるインデックスにoptimizeをかけるとひっそりと転置インデックスが壊れることがあります。また、
- ドキュメントの数がとても大きい (確認したものでは約580万)。
- 各ドキュメントに共通するテキストがとても多い (英語主体で、N-gramを有効にしたインデックスで確認)
上記に当てはまるインデックスにoptimizeをかけると転置インデックスの1ファイルに2GiB以上書き込んでしまい、壊れてしまう事があります。
修正内容はGitHubのリポジトリを参照してください。ついでに2GiB以上のキャッシュサイズの指定に対応していますが、その3倍弱くらいのメモリが必要になるケースがありました。