@Override public IndexFieldDataService fieldData() { return in.fieldData(); }
@Override public IndexFieldDataService fieldData() { return in.fieldData(); }
@SuppressWarnings("unchecked") private <IFD> IFD getFieldData(final String facetName, final String fieldName, final SearchContext context) { if(fieldName != null) { final FieldMapper<?> mapper = context.smartNameFieldMapper(fieldName); if(mapper == null) { throw new FacetPhaseExecutionException(facetName, "no mapping found for " + fieldName); } // This cast is a workaround to deal with issue #41 return (IFD) context.fieldData().getForField(mapper); } return null; }
private LongArrayIndexFieldData getKeyFieldData(final String facetName, final String fieldName, final SearchContext context) { if(fieldName != null) { final FieldMapper<?> mapper = context.smartNameFieldMapper(fieldName); if(mapper == null) { throw new FacetPhaseExecutionException(facetName, "no mapping found for " + fieldName); } if(!"long".equals(mapper.fieldDataType().getType())) { throw new FacetPhaseExecutionException(facetName, "key field " + fieldName + " is not of type long"); } return context.fieldData().getForField(mapper); } else throw new FacetPhaseExecutionException(facetName, "[key_field] is required to be set for date facet"); }
final IndexFieldData<?> indexFieldData = context.fieldData().getForField(mapper);
throw new FacetPhaseExecutionException(facetName, "failed to find mapping for [" + fieldName + "]"); IndexGeoPointFieldData indexFieldData = context.fieldData().getForField(fieldMapper); return new GeoClusterFacetExecutor(indexFieldData, factor);
fieldData = searchContext.fieldData().getForField(fieldType);
@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()); } } } }
PagedBytesIndexFieldData distinctFieldData = context.fieldData().getForField(distinctFieldMapper); PackedArrayIndexFieldData keyIndexFieldData = context.fieldData().getForField(keyMapper); return new StringDistinctDateHistogramFacetExecutor(keyIndexFieldData, distinctFieldData, dateTime, interval, comparatorType, context.cacheRecycler()); } else if (distinctFieldMapper.fieldDataType().getType().equals("long")) { IndexNumericFieldData distinctFieldData = context.fieldData().getForField(distinctFieldMapper); IndexNumericFieldData keyIndexFieldData = context.fieldData().getForField(keyMapper); return new LongDistinctDateHistogramFacetExecutor(keyIndexFieldData, distinctFieldData, dateTime, interval, comparatorType, context.cacheRecycler()); } else {
AtomicFieldData data = context.fieldData().getForField(fieldType).load(hitContext.readerContext()); ScriptDocValues values = data.getScriptValues(); values.setNextDocId(hitContext.docId());
IndexFieldData.XFieldComparatorSource fieldComparatorSource = context.fieldData().getForField(fieldType) .comparatorSource(missing, sortMode, nested); sortFields.add(new SortField(fieldType.names().indexName(), fieldComparatorSource, reverse));
final IndexGeoPointFieldData geoIndexFieldData = context.fieldData().getForField(fieldType); final FixedSourceDistance[] distances = new FixedSourceDistance[geoPoints.size()]; for (int i = 0; i< geoPoints.size(); i++) {
return new TopKAggregator.Factory(aggregationName, config, size, capacity); config.fieldContext(new FieldContext(field, context.fieldData().getForField(mapper), mapper)); return new TopKAggregator.Factory(aggregationName, config, size, capacity);
final IndexFieldData<?> uidFieldData = SearchContext.current().fieldData().getForField(fieldType);
IndexFieldData indexFieldData = context.fieldData().getForField(fieldType);
ParentChildIndexFieldData parentChildIndexFieldData = context.fieldData().getForField(parentFieldMapper.fieldType()); config.fieldContext(new FieldContext(parentFieldMapper.fieldType().names().indexName(), parentChildIndexFieldData, parentFieldMapper.fieldType())); } else {
IndexFieldData<?> indexFieldData = context.fieldData().getForField(fieldType);