|
19 | 19 | import org.elasticsearch.script.Script; |
20 | 20 | import org.elasticsearch.search.SearchHit; |
21 | 21 | import org.elasticsearch.search.fetch.StoredFieldsContext; |
| 22 | +import org.elasticsearch.search.fetch.subphase.DocValueFieldsContext; |
22 | 23 | import org.elasticsearch.search.sort.SortOrder; |
23 | 24 | import org.elasticsearch.xpack.core.ClientHelper; |
24 | 25 | import org.elasticsearch.xpack.core.ml.datafeed.extractor.DataExtractor; |
@@ -46,6 +47,7 @@ class ScrollDataExtractor implements DataExtractor { |
46 | 47 |
|
47 | 48 | private static final Logger LOGGER = Loggers.getLogger(ScrollDataExtractor.class); |
48 | 49 | private static final TimeValue SCROLL_TIMEOUT = new TimeValue(30, TimeUnit.MINUTES); |
| 50 | + private static final String EPOCH_MILLIS_FORMAT = "epoch_millis"; |
49 | 51 |
|
50 | 52 | private final Client client; |
51 | 53 | private final ScrollDataExtractorContext context; |
@@ -114,7 +116,11 @@ private SearchRequestBuilder buildSearchRequest(long start) { |
114 | 116 | context.query, context.extractedFields.timeField(), start, context.end)); |
115 | 117 |
|
116 | 118 | for (String docValueField : context.extractedFields.getDocValueFields()) { |
117 | | - searchRequestBuilder.addDocValueField(docValueField); |
| 119 | + if (docValueField.equals(context.extractedFields.timeField())) { |
| 120 | + searchRequestBuilder.addDocValueField(docValueField, EPOCH_MILLIS_FORMAT); |
| 121 | + } else { |
| 122 | + searchRequestBuilder.addDocValueField(docValueField, DocValueFieldsContext.USE_DEFAULT_FORMAT); |
| 123 | + } |
118 | 124 | } |
119 | 125 | String[] sourceFields = context.extractedFields.getSourceFields(); |
120 | 126 | if (sourceFields.length == 0) { |
|
0 commit comments