diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AttachmentContentPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AttachmentContentPE.java
index 17d31158da863be40cd8c0f42993a4c8eb8b23d6..575e4bf59a6db6261e566a0e66de0b9bc1c5f464 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AttachmentContentPE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/AttachmentContentPE.java
@@ -27,7 +27,10 @@ import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
 
 import org.hibernate.annotations.Type;
+import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.FieldBridge;
+import org.hibernate.search.annotations.Index;
+import org.hibernate.search.annotations.Store;
 import org.hibernate.validator.NotNull;
 
 import ch.systemsx.cisd.openbis.generic.shared.GenericSharedConstants;
@@ -66,7 +69,7 @@ public class AttachmentContentPE implements Serializable
     @Column(name = ColumnNames.VALUE_COLUMN, updatable = false)
     @NotNull(message = ValidationMessages.VALUE_NOT_NULL_MESSAGE)
     @Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType")
-    @FieldBridge(impl = ByteArrayBridge.class)
+    @Field(bridge = @FieldBridge(impl = ByteArrayBridge.class), index = Index.TOKENIZED, store = Store.NO)
     public byte[] getValue()
     {
         return value;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
index 164b28855dbe695e35615016ca57a4f5f8e5099f..3629492b2cd29bb59038f27dd9b524f79e2f1c12 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
@@ -282,6 +282,7 @@ public class ExperimentPE implements IEntityPropertiesHolder<ExperimentPropertyP
     }
 
     @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "parent")
+    @IndexedEmbedded
     @Private
     public Set<AttachmentPE> getExperimentAttachments()
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SearchableEntity.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SearchableEntity.java
index 98c2440c42559943a92536e80c2071752b9ccdfa..bc2edb97f6e2a3d9644a2ba4b09896a82becf1e6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SearchableEntity.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SearchableEntity.java
@@ -47,6 +47,13 @@ public enum SearchableEntity
     },
     EXPERIMENT("Experiment")
     {
+
+        private final String[] getAttachmentFields()
+        {
+            return new String[]
+                { "experimentAttachments.attachmentContent.value" };
+        }
+
         //
         // SearchableEntity
         //
@@ -60,8 +67,8 @@ public enum SearchableEntity
         @Override
         public final String[] getFields()
         {
-            return (String[]) ArrayUtils.addAll(getStandardFields(), getPropertyFields(name()
-                    .toLowerCase()));
+            return (String[]) ArrayUtils.addAll(ArrayUtils.addAll(getStandardFields(),
+                    getPropertyFields(name().toLowerCase())), getAttachmentFields());
         }
     },
     MATERIAL("Material")