diff --git a/src/main/java/org/olat/search/service/SearchServiceImpl.java b/src/main/java/org/olat/search/service/SearchServiceImpl.java index 7b58251dad00781827d261a18dd81b3be4072bc3..888bf689f23a9e42dc2c18b7de9299b3a5b2a88f 100644 --- a/src/main/java/org/olat/search/service/SearchServiceImpl.java +++ b/src/main/java/org/olat/search/service/SearchServiceImpl.java @@ -497,11 +497,16 @@ public class SearchServiceImpl implements SearchService, GenericEventListener { final OOMultiReader r = (OOMultiReader)referenceToRefresh.getIndexReader(); final IndexReader newReader = DirectoryReader.openIfChanged(r.getReader()); final IndexReader newPermReader = DirectoryReader.openIfChanged(r.getPermanentReader()); - if (newReader == null && newPermReader == null) { - return null; + + IndexSearcher searcher; + if(refresh.getAndSet(false)) { + searcher = getSearcher(factory); + } else if (newReader == null && newPermReader == null) { + searcher = null; } else { - return getSearcher(factory); + searcher = getSearcher(factory); } + return searcher; } @Override