単語の頻度カウントを保存およびクエリできるようにするための優れた設計について、コミュニティのコンセンサスを得たいと考えています。テキスト入力を解析し、単語が(時間の経過とともに)何回出現したかを保存する必要があるアプリケーションを構築しています。したがって、次の入力が与えられます。
- 「あざける鳥を殺すために」
- 「ピアノ奏者の嘲笑」
次の値を格納します。
Word Count
-------------
To 1
Kill 1
A 2
Mocking 2
Bird 1
Piano 1
Player 1
後で、任意の単語のカウント値をすばやくクエリできます。
私の現在の計画は、単純に単語とカウントをデータベースに保存し、単語カウント値のキャッシュに依存することです...しかし、これを長期的に実行可能なソリューションにするのに十分なキャッシュヒットが得られないと思います.
アルゴリズム、データ構造、またはこれを優れたソリューションにする他のアイデアを提案できる人はいますか?