0

Lucene を使用して、比較的多数 (数十万) の動的に作成/更新/削除されたファイルを含むディレクトリのインデックスを作成しています。ファイルごとに 1 つの Lucene ドキュメントがあり、ファイル名はドキュメント内のフィールドの 1 つです。

    Document doc = new Document();
    doc.add(new StringField("id", file.getName(), Store.YES));
    doc.add(new LongField("stamp", file.lastModified(), Store.YES));
    doc.add(new StringField("path", file.getAbsolutePath(), Store.YES));

ファイルシステムにないファイルを参照して、インデックス内のすべてのドキュメントを反復するにはどうすればよいですか (速いほど良い)。

4

1 に答える 1

1

ファイルが欠落しているかどうかに関する情報が何らかの方法でインデックスに直接保存されていない限り、( を使用してMatchAllDocsQuery) すべてのドキュメントを単純に反復し、 を使用してそれぞれが存在するかどうかを確認するよりも高速な方法はありませんFile.exists()

于 2013-09-23T16:32:34.040 に答える