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