2011-01-03 4 views
0

私は膨大な数の単語(〜50MB)を持つテキストファイルを持っています。このファイルコンテンツのインデックスを作成するには、どのデータ構造が最適ですか?テキストファイルのコンテンツのインデックスを実装する

また、どのデータ構造を使用すると、検索中に最良の結果が得られますか?事前に

おかげ

Jijoy

+1

通常、ファイル構造の詳細と何を検索しようとしている場合に役立ちますか? –

+0

なぜデータをデータベースに入れて、最も速い検索結果のデータを整理することができないのですか? (つまり、データを検索する基準の指標)? –

答えて

4

データが単語の辞書の場合は、Trieが適しています。

0
あなたはテーブルのようにそれを考えていたならばA B +ツリーは非常に効率的である

、それは単に言葉の大規模なリストであるしかし場合は、フィボナッチの木を試してみることができ。

0

あなたは、フルテキストインデックスを探している場合は、接尾辞配列は素晴らしい選択肢です:

http://en.wikipedia.org/wiki/Suffix_array

あなただけのメモリ内の転置インデックスをしたい場合は、ハッシュテーブルは最高かもしれません。

2

あなたがカットオフできるデータ構造を使用して、[Luceneの]のようないくつかのライブラリーを用いたアルゴリズムを書くのオーバーヘッドを[1]

[1]:http://lucene.apache.org/。私はあなたのケースについてはあまりよく分かりませんが、Javaでファイルのインデックスを作成し、これらのインデックスを使用していくつかの検索操作を実行しなければならない場合、luceneの使用法は公平とみなされます。

+0

Luceneは私のためにいくつかの同様の問題を解決しました! –

関連する問題