1
public void index(IndexItem indexItem) throws IOException {
    writer.deleteDocuments(new Term(IndexItem.ID,indexItem.getId().toString()));                    
    Document doc = new Document();
    // doc.add(new LongField(IndexItem.ID, indexItem.getId(), Field.Store.YES));
    doc.add(new TextField(IndexItem.CONTENT, indexItem.getContent(), Field.Store.NO));
    doc.add(new StringField(IndexItem.PATH, indexItem.getPath(), Field.Store.YES));

    // add the document to the index
    writer.addDocument(doc, analyzer);


    writer.updateDocument(new Term(IndexItem.CONTENT, indexItem.getContent().toString()), doc);
    System.out.println(indexItem.getTitle()); 
    writer.close();
}

ここで Writer.deleteDocuments が機能していません。したがって、ファイルにインデックスを付けるたびに、既存のファイルを削除してから新しいファイルを作成するのではなく、そのコピーを作成するだけです。

これはwork.lockファイルと関係がありますか

4

1 に答える 1