私は膨大な数の単語(〜50MB)を持つテキストファイルを持っています。このファイルコンテンツのインデックスを作成するには、どのデータ構造が最適ですか?テキストファイルのコンテンツのインデックスを実装する
また、どのデータ構造を使用すると、検索中に最良の結果が得られますか?事前に
おかげ
Jijoy
私は膨大な数の単語(〜50MB)を持つテキストファイルを持っています。このファイルコンテンツのインデックスを作成するには、どのデータ構造が最適ですか?テキストファイルのコンテンツのインデックスを実装する
また、どのデータ構造を使用すると、検索中に最良の結果が得られますか?事前に
おかげ
Jijoy
データが単語の辞書の場合は、Trieが適しています。
、それは単に言葉の大規模なリストであるしかし場合は、フィボナッチの木を試してみることができ。
あなたは、フルテキストインデックスを探している場合は、接尾辞配列は素晴らしい選択肢です:
http://en.wikipedia.org/wiki/Suffix_array
あなただけのメモリ内の転置インデックスをしたい場合は、ハッシュテーブルは最高かもしれません。
あなたがカットオフできるデータ構造を使用して、[Luceneの]のようないくつかのライブラリーを用いたアルゴリズムを書くのオーバーヘッドを[1]
[1]:http://lucene.apache.org/。私はあなたのケースについてはあまりよく分かりませんが、Javaでファイルのインデックスを作成し、これらのインデックスを使用していくつかの検索操作を実行しなければならない場合、luceneの使用法は公平とみなされます。
Luceneは私のためにいくつかの同様の問題を解決しました! –
通常、ファイル構造の詳細と何を検索しようとしている場合に役立ちますか? –
なぜデータをデータベースに入れて、最も速い検索結果のデータを整理することができないのですか? (つまり、データを検索する基準の指標)? –