EnumFieldType
instead.@Deprecated public class EnumField extends AbstractEnumField
AbstractEnumField.EnumMapping
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
Modifier and Type | Field and Description |
---|---|
protected static int |
DEFAULT_PRECISION_STEP
Deprecated.
|
enumMapping
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 |
---|
EnumField()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
IndexableField |
createField(SchemaField field,
Object value)
Deprecated.
Used for adding a document when a field needs to be created from a
type and a string.
|
List<IndexableField> |
createFields(SchemaField sf,
Object value)
Deprecated.
Given a
SchemaField , create one or more IndexableField instances |
protected Query |
getSpecializedRangeQuery(QParser parser,
SchemaField field,
String min,
String max,
boolean minInclusive,
boolean maxInclusive)
Deprecated.
Returns a Query instance for doing range searches on this field type.
|
UninvertingReader.Type |
getUninversionType(SchemaField sf)
Deprecated.
If DocValues is not enabled for a field, but it's indexed, docvalues can be constructed
on the fly (uninverted, aka fieldcache) on the first request to sort, facet, etc.
|
CharsRef |
indexedToReadable(BytesRef input,
CharsRefBuilder output)
Deprecated.
Given an indexed term, append the human readable representation
|
String |
indexedToReadable(String indexedForm)
Deprecated.
Given an indexed term, return the human readable representation
|
void |
readableToIndexed(CharSequence val,
BytesRefBuilder result)
Deprecated.
Given the readable value, return the term value that will match it.
|
String |
storedToIndexed(IndexableField f)
Deprecated.
Given the stored field, return the indexed form
|
EnumFieldValue |
toObject(SchemaField sf,
BytesRef term)
Deprecated.
|
getEnumMapping, getNumberType, getSortField, getValueSource, init, isTokenized, readableToIndexed, toExternal, toInternal, toNativeType, toObject, write
checkSupportsDocValues, getDefaultMultiValueSelectorForSort
checkSchemaField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getExistenceQuery, getFieldQuery, getIndexAnalyzer, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericSort, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, getSortedNumericSortField, getSortedSetSortField, getSortField, getSpecializedExistenceQuery, getStringSort, getTypeName, hasProperty, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPointField, isPolyField, isUtf8Field, marshalBase64SortValue, marshalSortValue, marshalStringSortValue, multiValuedFieldCache, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToReadable, supportsAnalyzers, toString, treatUnboundedRangeAsExistence, unmarshalBase64SortValue, unmarshalSortValue, unmarshalStringSortValue, useDocValuesAsStored, write
protected static final int DEFAULT_PRECISION_STEP
public UninvertingReader.Type getUninversionType(SchemaField sf)
FieldType
If DocValues is not enabled for a field, but it's indexed, docvalues can be constructed on the fly (uninverted, aka fieldcache) on the first request to sort, facet, etc. This specifies the structure to use.
This method will not be used if the field is (effectively) uninvertible="false"
getUninversionType
in class FieldType
sf
- field instancenull
(to disallow uninversion for the field)SchemaField.isUninvertible()
protected Query getSpecializedRangeQuery(QParser parser, SchemaField field, String min, String max, boolean minInclusive, boolean maxInclusive)
FieldType
SolrQueryParser
currently passes part1
and part2
as null if they are '*' respectively. minInclusive
and maxInclusive
are both true
currently by SolrQueryParser but that may change in the future. Also, other QueryParser implementations may have
different semantics.
Sub-classes should override this method to provide their own range query implementation. They should strive to
handle nulls in part1
and/or part2
as well as unequal minInclusive
and maxInclusive
parameters gracefully.
This method does not, and should not, check for or handle existence queries, please look at FieldType.getRangeQuery(org.apache.solr.search.QParser, org.apache.solr.schema.SchemaField, java.lang.String, java.lang.String, boolean, boolean)
for that logic.
getSpecializedRangeQuery
in class FieldType
parser
- the QParser
calling the methodfield
- the schema fieldmin
- the lower boundary of the range, nulls are allowed.max
- the upper boundary of the range, nulls are allowedminInclusive
- whether the minimum of the range is inclusive or notmaxInclusive
- whether the maximum of the range is inclusive or notpublic void readableToIndexed(CharSequence val, BytesRefBuilder result)
FieldType
result
parameter and write from offset 0readableToIndexed
in class FieldType
public String indexedToReadable(String indexedForm)
FieldType
indexedToReadable
in class FieldType
public CharsRef indexedToReadable(BytesRef input, CharsRefBuilder output)
FieldType
indexedToReadable
in class FieldType
public EnumFieldValue toObject(SchemaField sf, BytesRef term)
public String storedToIndexed(IndexableField f)
FieldType
storedToIndexed
in class FieldType
public IndexableField createField(SchemaField field, Object value)
FieldType
By default, the indexed value is the same as the stored value (taken from toInternal()). Having a different representation for external, internal, and indexed would present quite a few problems given the current Lucene architecture. An analyzer for adding docs would need to translate internal->indexed while an analyzer for querying would need to translate external->indexed.
The only other alternative to having internal==indexed would be to have internal==external. In this case, toInternal should convert to the indexed representation, toExternal() should do nothing, and createField() should *not* call toInternal, but use the external value and set tokenized=true to get Lucene to convert to the internal(indexed) form.
:TODO: clean up and clarify this explanation.createField
in class FieldType
FieldType.toInternal(java.lang.String)
public List<IndexableField> createFields(SchemaField sf, Object value)
FieldType
SchemaField
, create one or more IndexableField
instancescreateFields
in class FieldType
sf
- the SchemaField
value
- The value to add to the fieldIndexableField
FieldType.createField(SchemaField, Object)
,
FieldType.isPolyField()
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.