From 37ba5c9203221555c1d34c09b5d243234769e1d1 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 22 Apr 2015 08:19:26 +0200 Subject: [PATCH] OO-1522: fix an issue where the index are not reloaded after full indexing if Lucene doesn't see that the index has changed --- .../org/olat/search/service/SearchServiceImpl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/search/service/SearchServiceImpl.java b/src/main/java/org/olat/search/service/SearchServiceImpl.java index 7b58251dad0..888bf689f23 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 -- GitLab