1

たくさんのファイルが提供されるミニ検索エンジンを設計しました。私がしたことは、これらのファイルをクロールし、キーが単語のハッシュ値であるハッシュテーブルを作成し、テーブルエントリが、同じハッシュを持つすべての単語とその単語に関連するその他の情報を保持するバイナリツリーであるということです。 。

このデータ構造がメモリに存在することを理解しています。問題を拡大することを考えています。膨大な数のエントリが提供された場合、メモリはこの膨大な量のデータを保持できないため、ハードドライブに永続的に保存する必要があります。ただし、私が知る限り、データはブロックとしてハードディスクに保存され、プログラマーとして、データをディスクに保存する方法を制御することはできません。では、メモリに保存されているのと同じ方法でデータをディスクに保存するように強制するにはどうすればよいですか。

簡単に言うと、データ構造はデータを効率的に処理するために重要であると理解していますが(適切なデータ構造が使用されている場合)、プログラマーはメモリ内のデータのデータ構造のみを制御します。データが大きい場合、プログラマーは効率的な検索のためにデータをディスクに保存するにはどうすればよいですか?

4

1 に答える 1

0

通常、単語とその単語を含む文書との間のマッピングを行うために、逆索引がデータ構造として使用されます。 http://en.wikipedia.org/wiki/Inverted_index

于 2012-08-03T02:07:30.650 に答える