0
votes

I'm new to apache lucene. I started using lucene. I had faced an issue. I started indexing all the files in the directory. I didn't close the indexwriter and tried to open in luke. It prompted with an error "Index not closed". The problem over here is the code execution has been completed. How to unlock the index? If I instantiate a new IndexWriter with the same directory, will it overwrite the existing index?

1

1 Answers

1
votes

I am not an expert either..

If I were you, I'd do the following..

1) Add the following snippet to code at the end, which is a must at any cost.

myIndexWriter.close(); 

2) Delete the existing directory manually, and rerun the whole code.

If you instantiate the new IndexWriter without deleting the directory, it will add docs to the existing index. Yes, it will result in duplicate index entries.

However, in the Lucene's perspective, all those entries are still unique, i.e. every addDocument() creates a new entry in the Index with a new unique lucene-internal-doc-id.