Package org.apache.solr.schema
Class StrField
- java.lang.Object
-
- org.apache.solr.schema.FieldProperties
-
- org.apache.solr.schema.FieldType
-
- org.apache.solr.schema.PrimitiveFieldType
-
- org.apache.solr.schema.StrField
-
- Direct Known Subclasses:
UUIDField
public class StrField extends PrimitiveFieldType
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
-
-
Field Summary
-
Fields inherited from class org.apache.solr.schema.FieldType
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
-
Fields inherited from class org.apache.solr.schema.FieldProperties
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 Summary
Constructors Constructor Description StrField()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.apache.lucene.index.IndexableField>
createFields(SchemaField field, Object value)
Given aSchemaField
, create one or moreIndexableField
instancesstatic org.apache.lucene.util.BytesRef
getBytesRef(Object value)
org.apache.lucene.queries.function.ValueSource
getSingleValueSource(FieldType.MultiValueSelector choice, SchemaField field, QParser parser)
Method for dynamically building a ValueSource based on a single value of a multivalued field.org.apache.lucene.search.SortField
getSortField(SchemaField field, boolean reverse)
Returns the SortField instance that should be used to sort fields of this type.UninvertingReader.Type
getUninversionType(SchemaField sf)
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.org.apache.lucene.queries.function.ValueSource
getValueSource(SchemaField field, QParser parser)
called to get the default value source (normally, from the Lucene FieldCache.)protected void
init(IndexSchema schema, Map<String,String> args)
subclasses should initialize themselves with the args provided and remove valid arguments.boolean
isUtf8Field()
Object
marshalSortValue(Object value)
Convert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.Object
toObject(SchemaField sf, org.apache.lucene.util.BytesRef term)
Object
unmarshalSortValue(Object value)
Convert a value marshaled viaFieldType.marshalSortValue(java.lang.Object)
back into a value usable by the FieldComparator for this FieldType's SortFieldvoid
write(TextResponseWriter writer, String name, org.apache.lucene.index.IndexableField f)
calls back to TextResponseWriter to write the field value-
Methods inherited from class org.apache.solr.schema.PrimitiveFieldType
checkSupportsDocValues, enableDocValuesByDefault, getDefaultMultiValueSelectorForSort
-
Methods inherited from class org.apache.solr.schema.FieldType
checkSchemaField, createField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getExistenceQuery, getFieldQuery, getFieldTermQuery, getIndexAnalyzer, getNamedPropertyValues, getNonFieldPropertyArgs, getNumberType, getNumericSort, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSortedNumericSortField, getSortedSetSortField, getSortField, getSpecializedExistenceQuery, getSpecializedRangeQuery, getStringSort, getTypeName, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPointField, isPolyField, isTokenized, marshalBase64SortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toExternal, toInternal, toNativeType, toObject, toString, treatUnboundedRangeAsExistence, unmarshalBase64SortValue, unmarshalStringSortValue, useDocValuesAsStored, write
-
-
-
-
Method Detail
-
init
protected void init(IndexSchema schema, Map<String,String> args)
Description copied from class:FieldType
subclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.- Overrides:
init
in classPrimitiveFieldType
-
createFields
public List<org.apache.lucene.index.IndexableField> createFields(SchemaField field, Object value)
Description copied from class:FieldType
Given aSchemaField
, create one or moreIndexableField
instances- Overrides:
createFields
in classFieldType
- Parameters:
field
- theSchemaField
value
- The value to add to the field- Returns:
- An array of
IndexableField
- See Also:
FieldType.createField(SchemaField, Object)
,FieldType.isPolyField()
-
getBytesRef
public static org.apache.lucene.util.BytesRef getBytesRef(Object value)
-
isUtf8Field
public boolean isUtf8Field()
- Overrides:
isUtf8Field
in classFieldType
-
getSortField
public org.apache.lucene.search.SortField getSortField(SchemaField field, boolean reverse)
Description copied from class:FieldType
Returns the SortField instance that should be used to sort fields of this type.
-
getUninversionType
public UninvertingReader.Type getUninversionType(SchemaField sf)
Description copied from class: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"
- Specified by:
getUninversionType
in classFieldType
- Parameters:
sf
- field instance- Returns:
- type to uninvert, or
null
(to disallow uninversion for the field) - See Also:
SchemaField.isUninvertible()
-
write
public void write(TextResponseWriter writer, String name, org.apache.lucene.index.IndexableField f) throws IOException
Description copied from class:FieldType
calls back to TextResponseWriter to write the field valueSub-classes should prefer using
FieldType.toExternal(IndexableField)
orFieldType.toObject(IndexableField)
to get the writeable external value off
instead of directly usingf.stringValue()
orf.binaryValue()
- Specified by:
write
in classFieldType
- Throws:
IOException
-
getValueSource
public org.apache.lucene.queries.function.ValueSource getValueSource(SchemaField field, QParser parser)
Description copied from class:FieldType
called to get the default value source (normally, from the Lucene FieldCache.)- Overrides:
getValueSource
in classFieldType
-
toObject
public Object toObject(SchemaField sf, org.apache.lucene.util.BytesRef term)
-
marshalSortValue
public Object marshalSortValue(Object value)
Description copied from class:FieldType
Convert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.- Overrides:
marshalSortValue
in classFieldType
-
unmarshalSortValue
public Object unmarshalSortValue(Object value)
Description copied from class:FieldType
Convert a value marshaled viaFieldType.marshalSortValue(java.lang.Object)
back into a value usable by the FieldComparator for this FieldType's SortField- Overrides:
unmarshalSortValue
in classFieldType
-
getSingleValueSource
public org.apache.lucene.queries.function.ValueSource getSingleValueSource(FieldType.MultiValueSelector choice, SchemaField field, QParser parser)
Description copied from class:FieldType
Method for dynamically building a ValueSource based on a single value of a multivalued field.The default implementation throws an error except in the trivial case where this method is used on a
SchemaField
that is in fact not-multivalued, in which case it delegates toFieldType.getValueSource(org.apache.solr.schema.SchemaField, org.apache.solr.search.QParser)
- Overrides:
getSingleValueSource
in classFieldType
- See Also:
FieldType.MultiValueSelector
-
-