Hunspell を使用して、dictionay にいくつかのカスタム単語を追加したいと考えています。
コンストラクターで辞書からロードします。
private readonly Hunspell _hunspell;
public NhunspellHelper()
{
_hunspell = new Hunspell(
HttpContext.Current.Server.MapPath("~/App_Data/en_US.aff"),
HttpContext.Current.Server.MapPath("~/App_Data/en_US.dic"));
}
この関数は辞書に新しい単語を追加します:
public void AddToDictionary(string word)
{
_hunspell.Add(word); // or _hunspell.AddWithAffix(word, "aaa");
}
単語を辞書に追加した後、同じリクエストでこの単語を綴ると:
_hunspell.Spell(word)
を返しますtrue
が、別のリクエストでこの単語を綴ると、返されますfalse
と の両方のファイルを確認.aff
しましたが、 の.dic
後に変更されていないことがわかりました_hunspell.Add(word);
。そのため、別のリクエストが送信されると、コンストラクターは元の辞書から新しい Hunspell インスタンスを作成します。
私の質問は次のとおりです。Nhunspell は新しい単語を辞書に追加し、それを物理ファイル (*.aff または *.dic) に保存しますか? それともメモリに追加するだけで、辞書ファイルには何もしませんか?
辞書に新しい単語を追加するのに何か間違ったことをしましたか?