Skip to content

Commit d41897f

Browse files
authored
Added LocalDateTime support for DateFieldMapper (#20144)
Signed-off-by: Vinay Krishna Pudyodu <[email protected]>
1 parent fd54b9a commit d41897f

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

server/src/main/java/org/opensearch/index/mapper/DateFieldMapper.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import java.io.IOException;
7575
import java.time.DateTimeException;
7676
import java.time.Instant;
77+
import java.time.LocalDateTime;
7778
import java.time.ZoneId;
7879
import java.time.ZoneOffset;
7980
import java.time.ZonedDateTime;
@@ -252,11 +253,14 @@ public DerivedFieldGenerator derivedFieldGenerator() {
252253
return new DerivedFieldGenerator(mappedFieldType, new SortedNumericDocValuesFetcher(mappedFieldType, simpleName()) {
253254
@Override
254255
public Object convert(Object value) {
255-
Long val = (Long) value;
256-
if (val == null) {
256+
if (value instanceof LocalDateTime) {
257+
Instant instant = ((LocalDateTime) value).toInstant(ZoneOffset.UTC);
258+
return fieldType().dateTimeFormatter().format(resolution.toInstant(instant.toEpochMilli()).atZone(ZoneOffset.UTC));
259+
}
260+
if (value == null) {
257261
return null;
258262
}
259-
return fieldType().dateTimeFormatter().format(resolution.toInstant(val).atZone(ZoneOffset.UTC));
263+
return fieldType().dateTimeFormatter().format(resolution.toInstant((Long) value).atZone(ZoneOffset.UTC));
260264
}
261265
}, new StoredFieldFetcher(mappedFieldType, simpleName()));
262266
}

0 commit comments

Comments
 (0)