public class PreAnalyzedField extends TextField implements HasImplicitIndexAnalyzer
| Modifier and Type | Class and Description |
|---|---|
static class |
PreAnalyzedField.ParseResult
This is a simple holder of a stored part and the collected states (tokens with attributes).
|
static interface |
PreAnalyzedField.PreAnalyzedParser
Parse the input and return the stored part and the tokens with attributes.
|
FieldType.DefaultAnalyzer, FieldType.MultiValueSelector| Modifier and Type | Field and Description |
|---|---|
static String |
PARSER_IMPL
Init argument name.
|
autoGeneratePhraseQueries, multiTermAnalyzerANALYZER, args, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, similarity, SIMILARITY, similarityFactory, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeNameBINARY, 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, USE_DOCVALUES_AS_STORED| Constructor and Description |
|---|
PreAnalyzedField() |
| Modifier and Type | Method and Description |
|---|---|
IndexableField |
createField(SchemaField field,
Object value,
float boost)
Used for adding a document when a field needs to be created from a
type and a string.
|
static FieldType |
createFieldType(SchemaField field)
Utility method to create a
FieldType
based on the SchemaField |
IndexableField |
fromString(SchemaField field,
String val,
float boost) |
Analyzer |
getIndexAnalyzer()
Overridden to return an analyzer consisting of a
PreAnalyzedTokenizer. |
Analyzer |
getQueryAnalyzer()
Returns the query analyzer defined via the schema, unless there is none,
in which case the index-time pre-analyzer is returned.
|
SortField |
getSortField(SchemaField field,
boolean top)
Returns the SortField instance that should be used to sort fields
of this type.
|
UninvertingReader.Type |
getUninversionType(SchemaField sf)
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.
|
ValueSource |
getValueSource(SchemaField field,
QParser parser)
called to get the default value source (normally, from the
Lucene FieldCache.)
|
void |
init(IndexSchema schema,
Map<String,String> args)
subclasses should initialize themselves with the args provided
and remove valid arguments.
|
String |
toFormattedString(Field f)
Utility method to convert a field to a string that is parse-able by this
class.
|
void |
write(TextResponseWriter writer,
String name,
IndexableField f)
calls back to TextResponseWriter to write the field value
|
analyzeMultiTerm, getAutoGeneratePhraseQueries, getFieldQuery, getMultiTermAnalyzer, getRangeQuery, isExplicitMultiTermAnalyzer, marshalSortValue, setIsExplicitMultiTermAnalyzer, setMultiTermAnalyzer, supportsAnalyzers, toObject, unmarshalSortValuecheckSchemaField, checkSupportsDocValues, createField, createFields, getAnalyzerProperties, getClassArg, getDocValuesFormat, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumberType, getNumericType, getPostingsFormat, getPrefixQuery, getRewriteMethod, getSetQuery, getSimilarity, getSimilarityFactory, getSingleValueSource, 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, useDocValuesAsStoredpublic static final String PARSER_IMPL
PreAnalyzedField.PreAnalyzedParser.public void init(IndexSchema schema, Map<String,String> args)
FieldTypepublic Analyzer getIndexAnalyzer()
PreAnalyzedTokenizer.
NOTE: If an index analyzer is specified in the schema, it will be ignored.getIndexAnalyzer in class FieldTypeFieldType.getQueryAnalyzer()public Analyzer getQueryAnalyzer()
<analyzer> or <analyzer type="index">, but no query-time
analyzer, the query analyzer returned here will be the index-time
analyzer specified in the schema rather than the pre-analyzer.getQueryAnalyzer in class FieldTypeFieldType.getIndexAnalyzer()public IndexableField createField(SchemaField field, Object value, float boost)
FieldTypeBy 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 FieldTypeFieldType.toInternal(java.lang.String)public SortField getSortField(SchemaField field, boolean top)
FieldTypegetSortField in class TextFieldSchemaField.checkSortability()public ValueSource getValueSource(SchemaField field, QParser parser)
FieldTypegetValueSource in class TextFieldpublic UninvertingReader.Type getUninversionType(SchemaField sf)
FieldTypegetUninversionType in class TextFieldsf - field instancenull (to disallow uninversion for the field)public void write(TextResponseWriter writer, String name, IndexableField f) throws IOException
FieldTypewrite in class TextFieldIOExceptionpublic String toFormattedString(Field f) throws IOException
f - field to convertIOException - If there is a low-level I/O error.public static FieldType createFieldType(SchemaField field)
FieldType
based on the SchemaFieldpublic IndexableField fromString(SchemaField field, String val, float boost) throws Exception
ExceptionCopyright © 2000-2017 Apache Software Foundation. All Rights Reserved.