diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
index 50eeec850c2b84f4cea92dee0cf4fe7caa8d4740..06bcb5134c79bba156374c04f350425f66921352 100644
--- a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
+++ b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
@@ -203,19 +203,38 @@ public class RepositoryEntryAuthorQueries {
 		String refs = null;
 		if(StringHelper.containsNonWhitespace(params.getIdAndRefs())) {
 			refs = params.getIdAndRefs();
+			sb.append(" and (v.externalId=:ref or v.externalRef=:ref or v.softkey=:ref");
 			if(StringHelper.isLong(refs)) {
 				try {
 					id = Long.parseLong(refs);
+					sb.append(" or v.key=:vKey or res.resId=:vKey");
 				} catch (NumberFormatException e) {
 					//
 				}
 			}
-			sb.append(" and (v.externalId=:ref or v.externalRef=:ref or v.softkey=:ref");
-			if(id != null) {
-				sb.append(" or v.key=:vKey or res.resId=:vKey)");
+			sb.append(")");	
+		}
+		
+		//quick search
+		Long quickId = null;
+		String quickRefs = null;
+		String quickText = null;
+		if(StringHelper.containsNonWhitespace(params.getIdRefsAndTitle())) {
+			quickRefs = params.getIdRefsAndTitle();
+			sb.append(" and (v.externalId=:quickRef or v.externalRef=:quickRef or v.softkey=:quickRef or ");
+			quickText = PersistenceHelper.makeFuzzyQueryString(quickRefs);
+			PersistenceHelper.appendFuzzyLike(sb, "v.displayname", "quickText", dbInstance.getDbVendor());
+			if(StringHelper.isLong(quickRefs)) {
+				try {
+					quickId = Long.parseLong(quickRefs);
+					sb.append(" or v.key=:quickVKey or res.resId=:quickVKey)");
+				} catch (NumberFormatException e) {
+					//
+				}
 			}
 			sb.append(")");	
 		}
+
 		if(!count) {
 			appendAuthorViewOrderBy(params.getOrderBy(), params.isOrderByAsc(), sb);
 		}
@@ -234,6 +253,16 @@ public class RepositoryEntryAuthorQueries {
 		if(refs != null) {
 			dbQuery.setParameter("ref", refs);
 		}
+		
+		if(quickId != null) {
+			dbQuery.setParameter("quickVKey", quickId);
+		}
+		if(quickRefs != null) {
+			dbQuery.setParameter("quickRef", quickRefs);
+		}
+		if(quickText != null) {
+			dbQuery.setParameter("quickText", quickText);
+		}
 		if (StringHelper.containsNonWhitespace(author)) { // fuzzy author search
 			dbQuery.setParameter("author", author);
 		}
diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java b/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java
index 618bf124518f3b6c8fe7e1842e5002201714fe42..9d13b0f0f641fa94b015aa1c48967dfc993f9552 100644
--- a/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java
+++ b/src/main/java/org/olat/repository/manager/RepositoryEntryLifeIndexer.java
@@ -34,15 +34,17 @@ import org.olat.search.service.document.RepositoryEntryDocument;
 import org.olat.search.service.indexer.LifeFullIndexer;
 import org.olat.search.service.indexer.LifeIndexer;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 /**
+ * 
+ * The life indexer for the repository entry is disabled.
+ * It's not used anymore.
  * 
  * Initial date: 13.03.2014<br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  *
  */
-@Service
+//@Service
 public class RepositoryEntryLifeIndexer implements LifeIndexer {
 	private static final OLog log = Tracing.createLoggerFor(RepositoryEntryLifeIndexer.class);
 	private static final int BATCH_SIZE = 100;
diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java
index bcbea4c31add4cfdd032c6c6c81394c0059259f8..1f734301a57af6cfbbe78f0d0d4db37d6dc15ebd 100644
--- a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java
+++ b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java
@@ -267,16 +267,35 @@ public class RepositoryEntryMyCourseQueries {
 		String refs = null;
 		if(StringHelper.containsNonWhitespace(params.getIdAndRefs())) {
 			refs = params.getIdAndRefs();
+			sb.append(" and (v.externalId=:ref or v.externalRef=:ref or v.softkey=:ref");
 			if(StringHelper.isLong(refs)) {
 				try {
 					id = Long.parseLong(refs);
+					sb.append(" or v.key=:vKey or res.resId=:vKey");
 				} catch (NumberFormatException e) {
 					//
 				}
 			}
-			sb.append(" and (v.externalId=:ref or v.externalRef=:ref or v.softkey=:ref");
-			if(id != null) {
-				sb.append(" or v.key=:vKey or res.resId=:vKey)");
+			sb.append(")");	
+		}
+		
+		//alt id, refs and title
+		Long quickId = null;
+		String quickRefs = null;
+		String quickText = null;
+		if(StringHelper.containsNonWhitespace(params.getIdRefsAndTitle())) {
+			quickRefs = params.getIdRefsAndTitle();
+			quickText = PersistenceHelper.makeFuzzyQueryString(quickRefs);
+			
+			sb.append(" and (v.externalId=:quickRef or v.externalRef=:quickRef or v.softkey=:quickRef or ");
+			PersistenceHelper.appendFuzzyLike(sb, "v.displayname", "quickText", dbInstance.getDbVendor());
+			if(StringHelper.isLong(quickRefs)) {
+				try {
+					quickId = Long.parseLong(quickRefs);
+					sb.append(" or v.key=:quickVKey or res.resId=:quickVKey");
+				} catch (NumberFormatException e) {
+					//
+				}
 			}
 			sb.append(")");	
 		}
@@ -305,6 +324,16 @@ public class RepositoryEntryMyCourseQueries {
 		if(refs != null) {
 			dbQuery.setParameter("ref", refs);
 		}
+		if(quickId != null) {
+			dbQuery.setParameter("quickVKey", quickId);
+		}
+		if(quickRefs != null) {
+			dbQuery.setParameter("quickRef", quickRefs);
+		}
+		if(quickText != null) {
+			dbQuery.setParameter("quickText", quickText);
+			
+		}
 		if(StringHelper.containsNonWhitespace(text)) {
 			dbQuery.setParameter("displaytext", text);
 		}
diff --git a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
index a48d43277f4db23f8ccff16e1edb93ea76afb3a9..4df59e42cc8e8697aa6c3459689a52d37bc4ebcc 100644
--- a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
+++ b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
@@ -39,6 +39,7 @@ public class SearchAuthorRepositoryEntryViewParams {
 	private boolean ownedResourcesOnly;
 	
 	private String idAndRefs;
+	private String idRefsAndTitle;
 	private String author;
 	private String displayname;
 	private String description;
@@ -61,6 +62,14 @@ public class SearchAuthorRepositoryEntryViewParams {
 		this.idAndRefs = idAndRefs;
 	}
 
+	public String getIdRefsAndTitle() {
+		return idRefsAndTitle;
+	}
+
+	public void setIdRefsAndTitle(String idRefsAndTitle) {
+		this.idRefsAndTitle = idRefsAndTitle;
+	}
+
 	public boolean isOwnedResourcesOnly() {
 		return ownedResourcesOnly;
 	}
diff --git a/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java
index 38c6c3b2f205363800359519ed99040c71014025..426141ee3f63cf2172d00852b163f18497598307 100644
--- a/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java
+++ b/src/main/java/org/olat/repository/model/SearchMyRepositoryEntryViewParams.java
@@ -47,6 +47,7 @@ public class SearchMyRepositoryEntryViewParams {
 	private List<Long> repoEntryKeys;
 
 	private String idAndRefs;
+	private String idRefsAndTitle;
 	private String author;
 	private String text;
 	
@@ -88,6 +89,14 @@ public class SearchMyRepositoryEntryViewParams {
 		this.idAndRefs = idAndRefs;
 	}
 
+	public String getIdRefsAndTitle() {
+		return idRefsAndTitle;
+	}
+
+	public void setIdRefsAndTitle(String idRefsAndTitle) {
+		this.idRefsAndTitle = idRefsAndTitle;
+	}
+
 	public String getAuthor() {
 		return author;
 	}
diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataSource.java b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataSource.java
index 3bbc32c7f25c47a6e34d4d4c92f2bfede450bf87..191048b3c5d9d1629e7ca5f77b6665d10735301f 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataSource.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataSource.java
@@ -26,14 +26,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.lucene.queryparser.classic.ParseException;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.DefaultResultInfos;
 import org.olat.core.commons.persistence.ResultInfos;
 import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataSourceDelegate;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
 import org.olat.core.util.StringHelper;
 import org.olat.repository.RepositoryEntryAuthorView;
 import org.olat.repository.RepositoryService;
@@ -47,10 +44,6 @@ import org.olat.resource.accesscontrol.method.AccessMethodHandler;
 import org.olat.resource.accesscontrol.model.OLATResourceAccess;
 import org.olat.resource.accesscontrol.model.PriceMethodBundle;
 import org.olat.resource.accesscontrol.ui.PriceFormat;
-import org.olat.search.QueryException;
-import org.olat.search.ServiceNotAvailableException;
-import org.olat.search.service.searcher.SearchClient;
-import org.olat.search.service.searcher.SearchClientLocal;
 import org.olat.user.UserManager;
 
 /**
@@ -60,15 +53,12 @@ import org.olat.user.UserManager;
  *
  */
 public class AuthoringEntryDataSource implements FlexiTableDataSourceDelegate<AuthoringEntryRow> {
-	
-	private static final OLog log = Tracing.createLoggerFor(AuthoringEntryDataSource.class);
 
 	private final SearchAuthorRepositoryEntryViewParams searchParams;
 	
 	private final ACService acService;
 	private final AccessControlModule acModule;
 	private final UserManager userManager;
-	private final SearchClient searchClient;
 	private final RepositoryService repositoryService;
 	private final AuthoringEntryDataSourceUIFactory uifactory;
 	private Integer count;
@@ -81,7 +71,6 @@ public class AuthoringEntryDataSource implements FlexiTableDataSourceDelegate<Au
 		acService = CoreSpringFactory.getImpl(ACService.class);
 		acModule = CoreSpringFactory.getImpl(AccessControlModule.class);
 		userManager = CoreSpringFactory.getImpl(UserManager.class);
-		searchClient = CoreSpringFactory.getImpl(SearchClientLocal.class);
 		repositoryService = CoreSpringFactory.getImpl(RepositoryService.class);
 	}
 	
@@ -122,18 +111,9 @@ public class AuthoringEntryDataSource implements FlexiTableDataSourceDelegate<Au
 		}
 		
 		if(StringHelper.containsNonWhitespace(query)) {
-			try {
-				List<Long> fullTextResults = searchClient.doSearch(query, null, searchParams.getIdentity(), searchParams.getRoles(), 0, 100);
-				if(fullTextResults.isEmpty()) {
-					count = new Integer(0);
-					return new DefaultResultInfos<AuthoringEntryRow>();
-				}
-				searchParams.setRepoEntryKeys(fullTextResults);
-			} catch (ServiceNotAvailableException | ParseException | QueryException e) {
-				log.error("", e);
-			}
+			searchParams.setIdRefsAndTitle(query);
 		} else {
-			searchParams.setRepoEntryKeys(null);
+			searchParams.setIdRefsAndTitle(null);
 		}
 		
 		List<RepositoryEntryAuthorView> views = repositoryService.searchAuthorView(searchParams, firstResult, maxResults);
diff --git a/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java b/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java
index 6b196c17676839f079deb00e46c474cf91b90358..3b9c94c49b55c6d5bef30ff8f901a01d3b4434e6 100644
--- a/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java
+++ b/src/main/java/org/olat/repository/ui/list/DefaultRepositoryEntryDataSource.java
@@ -23,14 +23,11 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.lucene.queryparser.classic.ParseException;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.DefaultResultInfos;
 import org.olat.core.commons.persistence.ResultInfos;
 import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataSourceDelegate;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.vfs.VFSLeaf;
 import org.olat.repository.RepositoryEntryMyView;
@@ -47,10 +44,6 @@ import org.olat.resource.accesscontrol.method.AccessMethodHandler;
 import org.olat.resource.accesscontrol.model.OLATResourceAccess;
 import org.olat.resource.accesscontrol.model.PriceMethodBundle;
 import org.olat.resource.accesscontrol.ui.PriceFormat;
-import org.olat.search.QueryException;
-import org.olat.search.ServiceNotAvailableException;
-import org.olat.search.service.searcher.SearchClient;
-import org.olat.search.service.searcher.SearchClientLocal;
 
 /**
  * 
@@ -60,15 +53,12 @@ import org.olat.search.service.searcher.SearchClientLocal;
  */
 public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDelegate<RepositoryEntryRow> {
 	
-	private static final OLog log = Tracing.createLoggerFor(DefaultRepositoryEntryDataSource.class);
-
 	private final RepositoryEntryDataSourceUIFactory uifactory;
 	private final SearchMyRepositoryEntryViewParams searchParams;
 	
 
 	private final ACService acService;
 	private final AccessControlModule acModule;
-	private final SearchClient searchClient;
 	private final RepositoryService repositoryService;
 	private final RepositoryManager repositoryManager;
 	
@@ -81,7 +71,6 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel
 		
 		acService = CoreSpringFactory.getImpl(ACService.class);
 		acModule = CoreSpringFactory.getImpl(AccessControlModule.class);
-		searchClient = CoreSpringFactory.getImpl(SearchClientLocal.class);
 		repositoryService = CoreSpringFactory.getImpl(RepositoryService.class);
 		repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class);
 	}
@@ -132,18 +121,9 @@ public class DefaultRepositoryEntryDataSource implements FlexiTableDataSourceDel
 		}
 
 		if(StringHelper.containsNonWhitespace(query)) {
-			try {
-				List<Long> fullTextResults = searchClient.doSearch(query, null, searchParams.getIdentity(), searchParams.getRoles(), 0, 100);
-				if(fullTextResults.isEmpty()) {
-					count = new Integer(0);
-					return new DefaultResultInfos<RepositoryEntryRow>();
-				}
-				searchParams.setRepoEntryKeys(fullTextResults);
-			} catch (ServiceNotAvailableException | ParseException | QueryException e) {
-				log.error("", e);
-			}
+			searchParams.setIdRefsAndTitle(query);
 		} else {
-			searchParams.setRepoEntryKeys(null);
+			searchParams.setIdRefsAndTitle(null);
 		}
 		
 		List<RepositoryEntryMyView> views = repositoryService.searchMyView(searchParams, firstResult, maxResults);