これは一種のアルゴリズムの質問です。明確にするために、私は作業コードには興味がありませんが、一般的にタスクにアプローチする方法に興味があります。
4 つの CPU を備えたサーバーがあり、データベースはありません。ディスクには 100,000 の HTML ドキュメントが保存されています。各ドキュメントのサイズは 2MB です。そのコレクションに含まれる単語「CAMERA」(大文字と小文字を区別しない) の数を効率的に判断する方法が必要です。
私のアプローチは
- HTML ドキュメントを解析して単語のみを抽出する
- そして言葉を並べ替え、
- 次に、そのコレクションでバイナリ検索を使用します。
言い換えれば、スレッドを作成して、4 つの CPU をすべて使用して HTML ドキュメントを 1 つの大きな単語コレクション テキスト ファイルに解析し、それを並べ替えて、バイナリ検索を使用できるようにします。
これについてどう思いますか?