2011-07-28 10 views
4

可能性の重複:
Build an index for substring search?何百万というファイル名を検索するのに最適なデータ構造ですか?

私は、ファイル名の検索ツールを開発しています。私はハードドライブ(または複数のハードドライブ)を、おそらく何百万というファイル名で検索したいと考えています。 application 3 - jack smithinson

検索:

  1. 'application'、 '3'、 'jack'、 'smithinson'
  2. 'smith'
  3. 'inson' ファイルを考えると

すべてがこのファイルを返す必要があります。

この種の操作に最適なデータ構造とは何ですか?その理由は何ですか?

  1. バイナリツリー。
  2. トライ。
  3. ファイル名のSQLiteデータベース
  4. その他?
+0

どちらの方法でも返信されません – Jason

+0

どのようにデータ構造を維持しますか?実際のファイルシステムの内容に関して現在の構造をどのようにする必要がありますか? –

答えて

8

これらのファイル名はLuceneインデックスに格納します。ここで詳細を見つけることができます http://incubator.apache.org/lucene.net/ Luceneでは、高度に最適化された検索インデックスを作成できます。ヤフーはウェブ検索エンジンで数年間それを使用してきた。 内部実装について心配することなくインデックスを作成するための抽象的な方法を提供します。メモリにXML文書を作成してディスクにシリアル化するのは簡単です

関連する問題