diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java index 3bf0bec8..337c9a3f 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/indexing/LuceneIndexingHandler.java @@ -325,7 +325,8 @@ public class LuceneIndexingHandler implements IndexingHandler { criteriaList.add("s.count > 0"); } if (criteria.getMimeType() != null) { - sb.append("left join T_FILE f0 on f0.FIL_IDDOC_C = d.DOC_ID_C and f0.FIL_DELETEDATE_D is null"); + sb.append("left join T_FILE f0 on f0.FIL_IDDOC_C = d.DOC_ID_C and f0.FIL_MIMETYPE_C = :mimeType and f0.FIL_DELETEDATE_D is null"); + parameterMap.put("mimeType", criteria.getMimeType()); criteriaList.add("f0.FIL_ID_C is not null"); } if (criteria.getLanguage() != null) { diff --git a/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java b/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java index 59aafc7e..19c20905 100644 --- a/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java +++ b/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java @@ -215,6 +215,7 @@ public class TestDocumentResource extends BaseJerseyTest { Assert.assertEquals(1, searchDocuments("shared:yes", document1Token)); Assert.assertEquals(2, searchDocuments("lang:eng", document1Token)); Assert.assertEquals(1, searchDocuments("mime:image/png", document1Token)); + Assert.assertEquals(0, searchDocuments("mime:empty/void", document1Token)); Assert.assertEquals(1, searchDocuments("after:2010 before:2040-08 tag:super shared:yes lang:eng title description full:uranium", document1Token)); // Search documents (nothing)