JavaベースのWebアプリケーションでユーザーの投稿から冒とく的な表現を除外する必要があります。クライアントはScunthorpe問題とClbuttic問題の両方を認識しており、その結果を受け入れています。どうか、検閲の欠如の利点についての議論を望まないでください。
2ビットのデータがあります。
- ユーザーの提出物。500語程度になる可能性があります。
- 許可されていない単語を含む単一列のデータベーステーブル。このテーブルには何千ものレコードがある場合があります。
現在の解決策は私には間違っているようです:
- 起動時に、テーブル全体が静的String []に読み込まれ、シングルトンに(したがって、メモリに常駐します)。
- ユーザーが送信するたびに、配列をループ処理し、.indexOf()を実行して、String []内の特定の単語が送信に表示されるかどうかを確認します。
- 表示される場合は、%$#@%スタイルの文字に置き換えます。これは、ユーザー送信をトークン化し、ユーザー送信全体をトークンとして(再度)ループし、見つかった単語の各インスタンスを置き換えることによって行われます。
このソリューションには輝きがあるかもしれませんが、私は懐疑的です。そして、しばらくそれを見たとき、私はそれを通り越す方法を見つけることができません。
質問は、私が聞いたことのないあいまいな単語を除外できなかったために解雇された後、将来の開発者が維持するために良いパフォーマンスを提供し、うまくいけば合理的に正気であるソリューションは何ですか?