私は、ファイルとそれらに現れる単語 (頻度) のインデックスを保持するために使用するテキスト ファイルを持っています。ファイルをメモリに読み込み、単語を保存して検索できるようにする必要があります。ファイルは次のようにフォーマットされます。
<files> 169
0:file0.txt
1:file1.txt
2:file2.txt
3:file3.txt
... etc ...
</files>
<list> word 2
9: 10
1: 2
</list>
<list> word2 4
3: 19
5: 12
0: 2
8: 2
</list>
... etc ...
問題は、このインデックス ファイルが非常に大きくなる可能性があり、すべてが一度にメモリに収まらないことです。私の解決策は、一度に HashTable にそれらのほんの一握りだけを格納し、別の単語のデータを取得する必要があるときに、古い単語を追い出し、ファイルから新しい単語のデータを解析することです。
Cでこれを効率的に達成するにはどうすればよいですか? 特定のポイントに到達したら、fseekと巻き戻しで何かをしなければならないと思っていました。
ありがとう、
マイク