public class BinaryField extends FieldType
FieldType.DefaultAnalyzeranalyzer, ANALYZER, args, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, log, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, queryAnalyzer, similarity, SIMILARITY, similarityFactory, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeNameBINARY, DOC_VALUES, INDEXED, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_OFFSETS, STORE_TERMOFFSETS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED| Constructor and Description |
|---|
BinaryField() |
| Modifier and Type | Method and Description |
|---|---|
IndexableField |
createField(SchemaField field,
Object val,
float boost)
Used for adding a document when a field needs to be created from a
type and a string.
|
SortField |
getSortField(SchemaField field,
boolean top)
Returns the SortField instance that should be used to sort fields
of this type.
|
String |
toExternal(IndexableField f)
Convert the stored-field format to an external (string, human readable)
value
|
ByteBuffer |
toObject(IndexableField f)
Convert the stored-field format to an external object.
|
void |
write(TextResponseWriter writer,
String name,
IndexableField f)
calls back to TextResponseWriter to write the field value
|
checkSchemaField, createField, createFields, getAnalyzer, getAnalyzerProperties, getClassArg, getDocValuesFormat, getFieldQuery, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getStringSort, getTypeName, getValueSource, hasProperty, indexedToReadable, indexedToReadable, init, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPolyField, isTokenized, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setAnalyzer, setArgs, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, toInternal, toObject, toStringpublic void write(TextResponseWriter writer, String name, IndexableField f) throws IOException
FieldTypewrite in class FieldTypeIOExceptionpublic SortField getSortField(SchemaField field, boolean top)
FieldTypegetSortField in class FieldTypeSchemaField.checkSortability()public String toExternal(IndexableField f)
FieldTypetoExternal in class FieldTypeFieldType.toInternal(java.lang.String)public ByteBuffer toObject(IndexableField f)
FieldTypetoObject in class FieldTypeFieldType.toInternal(java.lang.String)public IndexableField createField(SchemaField field, Object val, 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)Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.