Skip to content

Commit 980c344

Browse files
committed
use pdate
1 parent 269c26e commit 980c344

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

conf/solr/schema.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164

165165
<field name="publicationStatus" type="string" stored="true" indexed="true" multiValued="true"/>
166166
<field name="curationStatus" type="string" stored="true" indexed="true" multiValued="false"/>
167-
<field name="curationStatusCreateTime" type="plong" stored="true" indexed="true" multiValued="false"/>
167+
<field name="curationStatusCreateTime" type="pdate" indexed="true" stored="true"/>
168168
<field name="embargoEndDate" type="plong" stored="true" indexed="true" multiValued="false"/>
169169
<field name="retentionEndDate" type="plong" stored="true" indexed="true" multiValued="false"/>
170170

src/main/java/edu/harvard/iq/dataverse/search/IndexServiceBean.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import java.sql.Timestamp;
5555
import java.text.SimpleDateFormat;
5656
import java.time.LocalDate;
57+
import java.time.ZoneOffset;
5758
import java.time.format.DateTimeFormatter;
5859
import java.time.format.DateTimeParseException;
5960
import java.util.ArrayList;
@@ -1034,10 +1035,12 @@ public SolrInputDocuments toSolrDocs(IndexableDataset indexableDataset, Set<Long
10341035
solrInputDocument.addField(SearchFields.CURATION_STATUS, status.getLabel());
10351036
}
10361037
// Add the creation time of the curation status
1037-
if (status!=null && status.getCreateTime() != null) {
1038-
// Convert Date to long (milliseconds since epoch) before adding to Solr document
1039-
long createTimeMillis = status.getCreateTime().getTime();
1040-
solrInputDocument.addField(SearchFields.CURATION_STATUS_CREATE_TIME, createTimeMillis);
1038+
if (status != null && status.getCreateTime() != null) {
1039+
// Convert Date to ISO-8601 format for Solr pdate field
1040+
String isoDateString = status.getCreateTime().toInstant()
1041+
.atOffset(ZoneOffset.UTC)
1042+
.format(DateTimeFormatter.ISO_INSTANT);
1043+
solrInputDocument.addField(SearchFields.CURATION_STATUS_CREATE_TIME, isoDateString);
10411044
}
10421045

10431046

0 commit comments

Comments
 (0)