summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java')
-rw-r--r--core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java26
1 files changed, 6 insertions, 20 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java
index 803cbb4348..befce94a9e 100644
--- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java
+++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/DocValueFieldsFetchSubPhase.java
@@ -36,35 +36,21 @@ import java.util.HashMap;
*/
public final class DocValueFieldsFetchSubPhase implements FetchSubPhase {
- public static final String NAME = "docvalue_fields";
- public static final ContextFactory<DocValueFieldsContext> CONTEXT_FACTORY = new ContextFactory<DocValueFieldsContext>() {
-
- @Override
- public String getName() {
- return NAME;
- }
-
- @Override
- public DocValueFieldsContext newContextInstance() {
- return new DocValueFieldsContext();
- }
- };
-
@Override
public void hitExecute(SearchContext context, HitContext hitContext) {
- if (context.getFetchSubPhaseContext(CONTEXT_FACTORY).hitExecutionNeeded() == false) {
+ if (context.docValueFieldsContext() == null) {
return;
}
- for (DocValueFieldsContext.DocValueField field : context.getFetchSubPhaseContext(CONTEXT_FACTORY).fields()) {
+ for (String field : context.docValueFieldsContext().fields()) {
if (hitContext.hit().fieldsOrNull() == null) {
hitContext.hit().fields(new HashMap<>(2));
}
- SearchHitField hitField = hitContext.hit().fields().get(field.name());
+ SearchHitField hitField = hitContext.hit().fields().get(field);
if (hitField == null) {
- hitField = new InternalSearchHitField(field.name(), new ArrayList<>(2));
- hitContext.hit().fields().put(field.name(), hitField);
+ hitField = new InternalSearchHitField(field, new ArrayList<>(2));
+ hitContext.hit().fields().put(field, hitField);
}
- MappedFieldType fieldType = context.mapperService().fullName(field.name());
+ MappedFieldType fieldType = context.mapperService().fullName(field);
if (fieldType != null) {
AtomicFieldData data = context.fieldData().getForField(fieldType).load(hitContext.readerContext());
ScriptDocValues values = data.getScriptValues();