Module org.elasticsearch.server
Package org.elasticsearch.index.mapper
Class NumberFieldMapper.NumberFieldType
java.lang.Object
org.elasticsearch.index.mapper.MappedFieldType
org.elasticsearch.index.mapper.SimpleMappedFieldType
org.elasticsearch.index.mapper.NumberFieldMapper.NumberFieldType
- Enclosing class:
NumberFieldMapper
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MappedFieldType
MappedFieldType.BlockLoaderContext, MappedFieldType.CollapseType, MappedFieldType.FielddataOperation, MappedFieldType.FieldExtractPreference, MappedFieldType.Relation -
Constructor Summary
ConstructorsConstructorDescriptionNumberFieldType(String name, NumberFieldMapper.NumberType type) NumberFieldType(String name, NumberFieldMapper.NumberType type, boolean isIndexed) NumberFieldType(String name, NumberFieldMapper.NumberType type, boolean isIndexed, boolean isStored, boolean hasDocValues, boolean coerce, Number nullValue, Map<String, String> meta, FieldValues<Number> script, boolean isDimension, TimeSeriesParams.MetricType metricType, IndexMode indexMode) -
Method Summary
Modifier and TypeMethodDescriptionblockLoader(MappedFieldType.BlockLoaderContext blContext) Returns a loader for ESQL ornullif the field doesn't support ESQL.Returns the collapse type of the field CollapseType.NONE means the field can'be used for collapsing.docValueFormat(String format, ZoneId timeZone) Pick aDocValueFormatthat can be used to display and parse values of fields of this type.fielddataBuilder(FieldDataContext fieldDataContext) Return a fielddata builder for this fieldIf field is a time series metric field, returns its metric typebooleanbooleanbooleanReturns true if the field is searchable.booleanmayExistInIndex(SearchExecutionContext context) parsePoint(byte[] value) If the field supports using the indexed data to speed up operations related to ordering of data, such as sorting or aggs, return a function for doing that.org.apache.lucene.search.QueryrangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, SearchExecutionContext context) Same asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, SearchExecutionContext)but without the trouble of relations or date-specific options.doublereduceToStoredPrecision(double value) This method reinterprets a double precision value based on the maximum precision of the stored number field.org.apache.lucene.search.QuerytermQuery(Object value, SearchExecutionContext context) Generates a query that will only match documents that contain the given value.org.apache.lucene.search.QuerytermsQuery(Collection<?> values, SearchExecutionContext context) Build a constant-scoring query that matches all values.typeName()Returns the name of this type, as would be specified in mapping propertiesvalueFetcher(SearchExecutionContext context, String format) Create a helper class to fetch field values during theFetchFieldsPhase.valueForDisplay(Object value) Given a value that comes from the stored fields API, convert it to the expected type.Methods inherited from class org.elasticsearch.index.mapper.SimpleMappedFieldType
rangeQueryMethods inherited from class org.elasticsearch.index.mapper.MappedFieldType
checkNoFormat, checkNoTimeZone, dimensions, distanceFeatureQuery, eagerGlobalOrdinals, existsQuery, extractTerm, failIfNoDocValues, failIfNotIndexed, failIfNotIndexedNorDocValuesFallback, familyTypeName, fieldHasValue, fuzzyIntervals, fuzzyQuery, fuzzyQuery, getDefaultHighlighter, getTerms, getTextSearchInfo, hasDocValues, isAggregatable, isFieldWithinQuery, isIndexed, isStored, meta, multiPhraseQuery, name, normalizedWildcardQuery, phrasePrefixQuery, phraseQuery, prefixIntervals, prefixQuery, prefixQuery, rangeIntervals, regexpIntervals, regexpQuery, spanPrefixQuery, termIntervals, termQueryCaseInsensitive, validateMatchedRoutingPath, wildcardIntervals, wildcardQuery, wildcardQuery
-
Constructor Details
-
NumberFieldType
public NumberFieldType(String name, NumberFieldMapper.NumberType type, boolean isIndexed, boolean isStored, boolean hasDocValues, boolean coerce, Number nullValue, Map<String, String> meta, FieldValues<Number> script, boolean isDimension, TimeSeriesParams.MetricType metricType, IndexMode indexMode) -
NumberFieldType
-
NumberFieldType
-
-
Method Details
-
typeName
Description copied from class:MappedFieldTypeReturns the name of this type, as would be specified in mapping properties- Specified by:
typeNamein classMappedFieldType
-
reduceToStoredPrecision
public double reduceToStoredPrecision(double value) This method reinterprets a double precision value based on the maximum precision of the stored number field. Mostly this corrects for unrepresentable values which have different approximations when cast from floats than when parsed as doubles. It may seem strange to convert a double to a double, and it is. This function's goal is to reduce the precision on the double in the case that the backing number type would have parsed the value differently. This is to address the problem where (e.g.) 0.04F < 0.04D, which causes problems for range aggregations. -
numericType
-
mayExistInIndex
- Overrides:
mayExistInIndexin classMappedFieldType- Returns:
- if the field may have values in the underlying index
Note that this should only return
falseif it is not possible for it to match on a term query. - See Also:
-
isSearchable
public boolean isSearchable()Description copied from class:MappedFieldTypeReturns true if the field is searchable.- Overrides:
isSearchablein classMappedFieldType
-
termQuery
Description copied from class:MappedFieldTypeGenerates a query that will only match documents that contain the given value. The default implementation returns aTermQueryover the value bytes- Specified by:
termQueryin classMappedFieldType
-
termsQuery
public org.apache.lucene.search.Query termsQuery(Collection<?> values, SearchExecutionContext context) Description copied from class:MappedFieldTypeBuild a constant-scoring query that matches all values. The default implementation uses aConstantScoreQueryaround aBooleanQuerywhoseBooleanClause.Occur.SHOULDclauses are generated withMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.SearchExecutionContext).- Overrides:
termsQueryin classMappedFieldType
-
rangeQuery
public org.apache.lucene.search.Query rangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower, boolean includeUpper, SearchExecutionContext context) Description copied from class:SimpleMappedFieldTypeSame asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, SearchExecutionContext)but without the trouble of relations or date-specific options.- Overrides:
rangeQueryin classSimpleMappedFieldType
-
pointReaderIfPossible
Description copied from class:MappedFieldTypeIf the field supports using the indexed data to speed up operations related to ordering of data, such as sorting or aggs, return a function for doing that. If it is unsupported for this field type, there is no need to override this method.- Overrides:
pointReaderIfPossiblein classMappedFieldType- Returns:
- null if the optimization cannot be applied, otherwise a function to use for the optimization
-
blockLoader
Description copied from class:MappedFieldTypeReturns a loader for ESQL ornullif the field doesn't support ESQL.- Overrides:
blockLoaderin classMappedFieldType
-
fielddataBuilder
Description copied from class:MappedFieldTypeReturn a fielddata builder for this field- Overrides:
fielddataBuilderin classMappedFieldType- Parameters:
fieldDataContext- the context for the fielddata
-
valueForDisplay
Description copied from class:MappedFieldTypeGiven a value that comes from the stored fields API, convert it to the expected type. For instance a date field would store dates as longs and format it back to a string in this method.- Overrides:
valueForDisplayin classMappedFieldType
-
valueFetcher
Description copied from class:MappedFieldTypeCreate a helper class to fetch field values during theFetchFieldsPhase. New field types must implement this method in order to support the search 'fields' option. Except for metadata fields, field types should not throwUnsupportedOperationExceptionsince this could cause a search retrieving multiple fields (like "fields": ["*"]) to fail.- Specified by:
valueFetcherin classMappedFieldType
-
docValueFormat
Description copied from class:MappedFieldTypePick aDocValueFormatthat can be used to display and parse values of fields of this type.- Overrides:
docValueFormatin classMappedFieldType
-
parsePoint
-
collapseType
Description copied from class:MappedFieldTypeReturns the collapse type of the field CollapseType.NONE means the field can'be used for collapsing.- Overrides:
collapseTypein classMappedFieldType- Returns:
- collapse type of the field
-
isDimension
public boolean isDimension()- Overrides:
isDimensionin classMappedFieldType- Returns:
- true if field has been marked as a dimension field
-
hasScriptValues
public boolean hasScriptValues()- Overrides:
hasScriptValuesin classMappedFieldType- Returns:
- true if field has script values.
-
getMetricType
If field is a time series metric field, returns its metric type- Overrides:
getMetricTypein classMappedFieldType- Returns:
- the metric type or null
-