diff --git a/docs-core/src/main/java/com/sismics/docs/core/dao/lucene/LuceneDao.java b/docs-core/src/main/java/com/sismics/docs/core/dao/lucene/LuceneDao.java index 6856e166..474b7dcb 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/dao/lucene/LuceneDao.java +++ b/docs-core/src/main/java/com/sismics/docs/core/dao/lucene/LuceneDao.java @@ -10,6 +10,7 @@ import java.util.Set; import org.apache.lucene.document.Field; import org.apache.lucene.document.StringField; import org.apache.lucene.document.TextField; +import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.apache.lucene.queries.TermsFilter; @@ -171,12 +172,17 @@ public class LuceneDao { TermsFilter userFilter = new TermsFilter(terms); // Search - IndexSearcher searcher = new IndexSearcher(AppContext.getInstance().getIndexingService().getDirectoryReader()); + DirectoryReader directoryReader = AppContext.getInstance().getIndexingService().getDirectoryReader(); + Set documentIdList = new HashSet(); + if (directoryReader == null) { + // The directory reader is not yet initialized (probably because there is nothing indexed) + return documentIdList; + } + IndexSearcher searcher = new IndexSearcher(directoryReader); TopDocs topDocs = searcher.search(query, userFilter, Integer.MAX_VALUE); ScoreDoc[] docs = topDocs.scoreDocs; // Extract document IDs - Set documentIdList = new HashSet(); for (int i = 0; i < docs.length; i++) { org.apache.lucene.document.Document document = searcher.doc(docs[i].doc); String type = document.get("type"); diff --git a/docs-core/src/main/java/com/sismics/docs/core/service/IndexingService.java b/docs-core/src/main/java/com/sismics/docs/core/service/IndexingService.java index af744562..d5988d3c 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/service/IndexingService.java +++ b/docs-core/src/main/java/com/sismics/docs/core/service/IndexingService.java @@ -128,7 +128,6 @@ public class IndexingService extends AbstractScheduledService { public DirectoryReader getDirectoryReader() { if (directoryReader == null) { if (!DirectoryReader.indexExists(directory)) { - log.info("Lucene directory not yet created"); return null; } try { diff --git a/docs-parent/TODO b/docs-parent/TODO index ba6a21f9..ec061751 100644 --- a/docs-parent/TODO +++ b/docs-parent/TODO @@ -1 +1 @@ -- Encrypt files stored on FS (server) \ No newline at end of file +- Encrypt files stored on FS (server) diff --git a/docs-web/src/main/webapp/index.html b/docs-web/src/main/webapp/index.html index 6379ae6c..62d22af6 100644 --- a/docs-web/src/main/webapp/index.html +++ b/docs-web/src/main/webapp/index.html @@ -60,7 +60,7 @@