public abstract class NumericFieldType extends PrimitiveFieldType
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
Modifier and Type | Field and Description |
---|---|
static EnumSet<NumberType> |
doubleOrFloat |
protected NumberType |
type |
ANALYZER, args, AUTO_GENERATE_PHRASE_QUERIES, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, ENABLE_GRAPH_QUERIES, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, similarity, SIMILARITY, similarityFactory, SYNONYM_QUERY_STYLE, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeName
BINARY, DOC_VALUES, INDEXED, LARGE_FIELD, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_OFFSETS, STORE_TERMOFFSETS, STORE_TERMPAYLOADS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED, UNINVERTIBLE, USE_DOCVALUES_AS_STORED
Constructor and Description |
---|
NumericFieldType() |
Modifier and Type | Method and Description |
---|---|
protected Query |
getDocValuesRangeQuery(QParser parser,
SchemaField field,
String min,
String max,
boolean minInclusive,
boolean maxInclusive) |
NumberType |
getNumberType()
Return the numeric type of this field, or null if this field is not a
numeric field.
|
protected Query |
getRangeQueryForFloatDoubleDocValues(SchemaField sf,
String min,
String max,
boolean minInclusive,
boolean maxInclusive) |
protected Query |
getRangeQueryForMultiValuedDoubleDocValues(SchemaField sf,
String min,
String max,
boolean minInclusive,
boolean maxInclusive) |
protected Query |
getRangeQueryForMultiValuedFloatDocValues(SchemaField sf,
String min,
String max,
boolean minInclusive,
boolean maxInclusive) |
Query |
getSpecializedExistenceQuery(QParser parser,
SchemaField field)
Override the default existence behavior, so that the non-docValued/norms implementation matches NaN values for double and float fields.
|
static Query |
numericDocValuesRangeQuery(String field,
Number lowerValue,
Number upperValue,
boolean lowerInclusive,
boolean upperInclusive,
boolean multiValued) |
protected boolean |
treatUnboundedRangeAsExistence(SchemaField field)
For doubles and floats, unbounded range queries (which do not match NaN values) are not equivalent to existence queries (which do match NaN values).
|
checkSupportsDocValues, getDefaultMultiValueSelectorForSort, init
checkSchemaField, createField, createField, createFields, getAnalyzerProperties, getClassArg, getDocValuesFormat, getExistenceQuery, getFieldQuery, getIndexAnalyzer, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericSort, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, getSortedNumericSortField, getSortedSetSortField, getSortField, getSortField, getSpecializedRangeQuery, getStringSort, getTypeName, getUninversionType, getValueSource, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPointField, isPolyField, isTokenized, isUtf8Field, marshalBase64SortValue, marshalSortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toExternal, toInternal, toNativeType, toObject, toObject, toString, unmarshalBase64SortValue, unmarshalSortValue, unmarshalStringSortValue, useDocValuesAsStored, write, write
protected NumberType type
public static EnumSet<NumberType> doubleOrFloat
public NumberType getNumberType()
FieldType
getNumberType
in class FieldType
protected Query getDocValuesRangeQuery(QParser parser, SchemaField field, String min, String max, boolean minInclusive, boolean maxInclusive)
protected Query getRangeQueryForFloatDoubleDocValues(SchemaField sf, String min, String max, boolean minInclusive, boolean maxInclusive)
protected Query getRangeQueryForMultiValuedDoubleDocValues(SchemaField sf, String min, String max, boolean minInclusive, boolean maxInclusive)
protected Query getRangeQueryForMultiValuedFloatDocValues(SchemaField sf, String min, String max, boolean minInclusive, boolean maxInclusive)
public static Query numericDocValuesRangeQuery(String field, Number lowerValue, Number upperValue, boolean lowerInclusive, boolean upperInclusive, boolean multiValued)
protected boolean treatUnboundedRangeAsExistence(SchemaField field)
treatUnboundedRangeAsExistence
in class FieldType
field
- the schema fieldpublic Query getSpecializedExistenceQuery(QParser parser, SchemaField field)
For doubles and floats the query behavior is equivalent to (field:[* TO *] OR field:NaN). For all other numeric types, the default existence query behavior is used.
getSpecializedExistenceQuery
in class FieldType
parser
- The QParser
calling the methodfield
- The SchemaField
of the field to searchQuery
instance.Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.