Package org.apache.solr.schema
Class TextField
- java.lang.Object
-
- org.apache.solr.schema.FieldProperties
-
- org.apache.solr.schema.FieldType
-
- org.apache.solr.schema.TextField
-
- Direct Known Subclasses:
PreAnalyzedField,SortableTextField
public class TextField extends FieldType
TextFieldis the basic type for configurable text analysis. Analyzers for field types using this implementation should be defined in the schema.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanautoGeneratePhraseQueriesprotected booleanenableGraphQueriesprotected org.apache.lucene.analysis.AnalyzermultiTermAnalyzerAnalyzer set by schema for text types to use when searching fields of this type, subclasses can set analyzer themselves or override getIndexAnalyzer() This analyzer is used to process wildcard, prefix, regex and other multiterm queries.protected SolrQueryParserBase.SynonymQueryStylesynonymQueryStyle-
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 TextField()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static org.apache.lucene.util.BytesRefanalyzeMultiTerm(String field, String part, org.apache.lucene.analysis.Analyzer analyzerIn)booleangetAutoGeneratePhraseQueries()booleangetEnableGraphQueries()org.apache.lucene.search.QuerygetFieldQuery(QParser parser, SchemaField field, String externalVal)Returns a Query instance for doing searches against a field.org.apache.lucene.analysis.AnalyzergetMultiTermAnalyzer()Returns the Analyzer to be used when searching fields of this type when mult-term queries are specified.org.apache.lucene.search.QuerygetRangeQuery(QParser parser, SchemaField field, String part1, String part2, boolean minInclusive, boolean maxInclusive)Returns a Query instance for doing range searches on this field type.org.apache.lucene.search.SortFieldgetSortField(SchemaField field, boolean reverse)Returns the SortField instance that should be used to sort fields of this type.SolrQueryParserBase.SynonymQueryStylegetSynonymQueryStyle()UninvertingReader.TypegetUninversionType(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.ValueSourcegetValueSource(SchemaField field, QParser parser)called to get the default value source (normally, from the Lucene FieldCache.)protected voidinit(IndexSchema schema, Map<String,String> args)subclasses should initialize themselves with the args provided and remove valid arguments.booleanisExplicitMultiTermAnalyzer()booleanisUtf8Field()ObjectmarshalSortValue(Object value)Convert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.voidsetIsExplicitMultiTermAnalyzer(boolean isExplicitMultiTermAnalyzer)voidsetMultiTermAnalyzer(org.apache.lucene.analysis.Analyzer analyzer)protected booleansupportsAnalyzers()Returns true if this type supports index and query analyzers, false otherwise.ObjecttoObject(SchemaField sf, org.apache.lucene.util.BytesRef term)ObjectunmarshalSortValue(Object value)Convert a value marshaled viaFieldType.marshalSortValue(java.lang.Object)back into a value usable by the FieldComparator for this FieldType's SortFieldvoidwrite(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.FieldType
checkSchemaField, checkSupportsDocValues, createField, createField, createFields, getAnalyzerProperties, getClassArg, getDefaultMultiValueSelectorForSort, getDocValuesFormat, getIndexAnalyzer, getNamedPropertyValues, getNonFieldPropertyArgs, getNumberType, getNumericSort, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, getSortedNumericSortField, getSortedSetSortField, getSortField, 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, toExternal, toInternal, toNativeType, toObject, toString, unmarshalBase64SortValue, unmarshalStringSortValue, useDocValuesAsStored, write
-
-
-
-
Field Detail
-
autoGeneratePhraseQueries
protected boolean autoGeneratePhraseQueries
-
enableGraphQueries
protected boolean enableGraphQueries
-
synonymQueryStyle
protected SolrQueryParserBase.SynonymQueryStyle synonymQueryStyle
-
multiTermAnalyzer
protected org.apache.lucene.analysis.Analyzer multiTermAnalyzer
Analyzer set by schema for text types to use when searching fields of this type, subclasses can set analyzer themselves or override getIndexAnalyzer() This analyzer is used to process wildcard, prefix, regex and other multiterm queries. It assembles a list of tokenizer +filters that "make sense" for this, primarily accent folding and lowercasing filters, and charfilters.
-
-
Method Detail
-
init
protected void init(IndexSchema schema, Map<String,String> args)
Description copied from class:FieldTypesubclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.
-
getMultiTermAnalyzer
public org.apache.lucene.analysis.Analyzer getMultiTermAnalyzer()
Returns the Analyzer to be used when searching fields of this type when mult-term queries are specified.This method may be called many times, at any time.
- See Also:
FieldType.getIndexAnalyzer()
-
setMultiTermAnalyzer
public void setMultiTermAnalyzer(org.apache.lucene.analysis.Analyzer analyzer)
-
getAutoGeneratePhraseQueries
public boolean getAutoGeneratePhraseQueries()
-
getEnableGraphQueries
public boolean getEnableGraphQueries()
-
getSynonymQueryStyle
public SolrQueryParserBase.SynonymQueryStyle getSynonymQueryStyle()
-
getSortField
public org.apache.lucene.search.SortField getSortField(SchemaField field, boolean reverse)
Description copied from class:FieldTypeReturns the SortField instance that should be used to sort fields of this type.
-
getValueSource
public org.apache.lucene.queries.function.ValueSource getValueSource(SchemaField field, QParser parser)
Description copied from class:FieldTypecalled to get the default value source (normally, from the Lucene FieldCache.)- Overrides:
getValueSourcein classFieldType
-
getUninversionType
public UninvertingReader.Type getUninversionType(SchemaField sf)
Description copied from class:FieldTypeIf 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:
getUninversionTypein 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:FieldTypecalls back to TextResponseWriter to write the field value- Specified by:
writein classFieldType- Throws:
IOException
-
getFieldQuery
public org.apache.lucene.search.Query getFieldQuery(QParser parser, SchemaField field, String externalVal)
Description copied from class:FieldTypeReturns a Query instance for doing searches against a field.- Overrides:
getFieldQueryin classFieldType- Parameters:
parser- TheQParsercalling the methodfield- TheSchemaFieldof the field to searchexternalVal- The String representation of the value to search- Returns:
- The
Queryinstance. This implementation returns aTermQuerybut overriding queries may not
-
toObject
public Object toObject(SchemaField sf, org.apache.lucene.util.BytesRef term)
-
supportsAnalyzers
protected boolean supportsAnalyzers()
Description copied from class:FieldTypeReturns true if this type supports index and query analyzers, false otherwise.- Overrides:
supportsAnalyzersin classFieldType
-
getRangeQuery
public org.apache.lucene.search.Query getRangeQuery(QParser parser, SchemaField field, String part1, String part2, boolean minInclusive, boolean maxInclusive)
Description copied from class:FieldTypeReturns a Query instance for doing range searches on this field type.SolrQueryParsercurrently 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.
- Overrides:
getRangeQueryin classFieldType- Parameters:
parser- theQParsercalling the methodfield- the schema fieldpart1- the lower boundary of the range, nulls are allowed.part2- 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 not- Returns:
- a Query instance to perform range search according to given parameters
-
analyzeMultiTerm
public static org.apache.lucene.util.BytesRef analyzeMultiTerm(String field, String part, org.apache.lucene.analysis.Analyzer analyzerIn)
-
setIsExplicitMultiTermAnalyzer
public void setIsExplicitMultiTermAnalyzer(boolean isExplicitMultiTermAnalyzer)
-
isExplicitMultiTermAnalyzer
public boolean isExplicitMultiTermAnalyzer()
-
marshalSortValue
public Object marshalSortValue(Object value)
Description copied from class:FieldTypeConvert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.- Overrides:
marshalSortValuein classFieldType
-
unmarshalSortValue
public Object unmarshalSortValue(Object value)
Description copied from class:FieldTypeConvert a value marshaled viaFieldType.marshalSortValue(java.lang.Object)back into a value usable by the FieldComparator for this FieldType's SortField- Overrides:
unmarshalSortValuein classFieldType
-
isUtf8Field
public boolean isUtf8Field()
- Overrides:
isUtf8Fieldin classFieldType
-
-