/** * The field values. */ public List<Object> getValues() { return values(); }
@Override public List<Object> values() { return this.searchHitField.values(); }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { SearchHitField field = hit.getFields().get(fieldName); if (field != null && !field.values().isEmpty()) { if (field.values().size() == 1) { builder.field(field.name(), field.values().get(0)); } else { builder.field(field.name()); builder.startArray(); for (Object value : field.values()) { builder.value(value); } builder.endArray(); } } return builder; } }
hitField.values().add(value);
if (fields != null && !fields.isEmpty()) { for (SearchHitField field : fields.values()) { if (field.values().isEmpty()) { continue;
@Override public void hitExecute(SearchContext context, HitContext hitContext) { for (FieldDataFieldsContext.FieldDataField field : context.getFetchSubPhaseContext(CONTEXT_FACTORY).fields()) { if (hitContext.hit().fieldsOrNull() == null) { hitContext.hit().fields(new HashMap<String, SearchHitField>(2)); } SearchHitField hitField = hitContext.hit().fields().get(field.name()); if (hitField == null) { hitField = new InternalSearchHitField(field.name(), new ArrayList<>(2)); hitContext.hit().fields().put(field.name(), hitField); } MappedFieldType fieldType = context.mapperService().smartNameFieldType(field.name()); if (fieldType != null) { AtomicFieldData data = context.fieldData().getForField(fieldType).load(hitContext.readerContext()); ScriptDocValues values = data.getScriptValues(); values.setNextDocId(hitContext.docId()); hitField.values().addAll(values.getValues()); } } } }
if (fields != null && !fields.isEmpty()) { for (SearchHitField field : fields.values()) { if (field.values().isEmpty()) { continue;
ScriptDocValues values = data.getScriptValues(); values.setNextDocId(hitContext.docId()); hitField.values().addAll(values.getValues());
hitField.values().add(value);