diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/LDNMessageEntityIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/LDNMessageEntityIndexFactoryImpl.java
index 76db7f224dc9..29acddd7d7cf 100644
--- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/LDNMessageEntityIndexFactoryImpl.java
+++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/LDNMessageEntityIndexFactoryImpl.java
@@ -10,10 +10,12 @@
import java.io.IOException;
import java.sql.SQLException;
import java.util.Arrays;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
+import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.solr.common.SolrInputDocument;
import org.dspace.app.ldn.LDNMessageEntity;
import org.dspace.app.ldn.NotifyServiceEntity;
@@ -120,8 +122,9 @@ public SolrInputDocument buildDocument(Context context, IndexableLDNNotification
addFacetIndex(doc, "coar_notify_type", ldnMessage.getCoarNotifyType(), ldnMessage.getCoarNotifyType());
doc.addField("queue_attempts", ldnMessage.getQueueAttempts());
doc.addField("queue_attempts_sort", ldnMessage.getQueueAttempts());
- doc.addField("queue_last_start_time", ldnMessage.getQueueLastStartTime());
- doc.addField("queue_last_start_time_dt", ldnMessage.getQueueLastStartTime());
+
+ indexDateFieldForFacet(doc, ldnMessage.getQueueLastStartTime());
+
doc.addField("queue_timeout", ldnMessage.getQueueTimeout());
String notificationType = LDNMessageEntity.getNotificationType(ldnMessage);
addFacetIndex(doc, "notification_type", notificationType, notificationType);
@@ -129,4 +132,19 @@ public SolrInputDocument buildDocument(Context context, IndexableLDNNotification
return doc;
}
+ private void indexDateFieldForFacet(SolrInputDocument doc, Date queueLastStartTime) {
+ if (queueLastStartTime != null) {
+ String value = DateFormatUtils.format(queueLastStartTime, "yyyy-MM-dd");
+ doc.addField("queue_last_start_time", value);
+ doc.addField("queue_last_start_time_dt", queueLastStartTime);
+ doc.addField("queue_last_start_time_keyword", value);
+ doc.addField("queue_last_start_time_min", value);
+ doc.addField("queue_last_start_time_min_sort", value);
+ doc.addField("queue_last_start_time_max", value);
+ doc.addField("queue_last_start_time_max_sort", value);
+ doc.addField("queue_last_start_time.year",
+ Integer.parseInt(DateFormatUtils.format(queueLastStartTime, "yyyy")));
+ }
+ }
+
}
diff --git a/dspace/config/spring/api/discovery.xml b/dspace/config/spring/api/discovery.xml
index dd12bd6f3afb..4323badccd35 100644
--- a/dspace/config/spring/api/discovery.xml
+++ b/dspace/config/spring/api/discovery.xml
@@ -2154,6 +2154,7 @@
+
@@ -2166,6 +2167,7 @@
+
@@ -3221,6 +3223,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+