Hi, > I have a MultiReader made up of 3 different indexes. If changes are made to > either of the 3 underlying indexes, isCurrent() returns false (correctly) on said > MultiReader. However, if I use the method IndexReader.openIfChanged() on > the MultiReader, a new MultiReader is returned (it does NOT return null), but > its isCurrent() method is still reporting false. Also, a search using this new > MultiReader doesn't not see the index changes (deletes and additions). I have > to explicitly close the MultiReader and open it again to see changes, but the > documentation states this is an inefficient way of refreshing readers.
It is not inefficient as MultiReader is just a light wrapper around a collection of readers. If you simply openIfChanged (!) each subreader yourself and wrap them by a new MultiReader it will not slowdown anything. MultiReader.doOpenIfChanged does nothing else, but maybe with a bug introduced by the refactoring. > I assumed someone must have run into this before? Can you open an issue at https://issues.apache.org/jira/browse/LUCENE ? Uwe --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org