We're using Lucene 3.3.0 and have an index with close to 10 million documents. When the application is started and the first search is performed, we open a read only IndexReader by calling IndexReader.open(directoryString, true). For all following searches, we check if the indexReader is current and if not, call IndexReader.reopen(). What happens if we rebuild the index from scratch while using the same IndexReader and only refreshing it by calling reopen? I can't seem to find any solid documentation explaining this, but have read a few things that are giving me the impression that this may not be the best approach. Can someone at least point me to some documentation regarding this?
Thank you!