Package org.apache.lucene.codecs
Class StoredFieldsWriter.MergeVisitor
- java.lang.Object
-
- org.apache.lucene.index.StoredFieldVisitor
-
- org.apache.lucene.codecs.StoredFieldsWriter.MergeVisitor
-
- All Implemented Interfaces:
IndexableField
- Enclosing class:
- StoredFieldsWriter
protected class StoredFieldsWriter.MergeVisitor extends StoredFieldVisitor implements IndexableField
A visitor that adds every field it sees.Use like this:
MergeVisitor visitor = new MergeVisitor(mergeState, readerIndex); for (...) { startDocument(); storedFieldsReader.visitDocument(docID, visitor); finishDocument(); }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.StoredFieldVisitor
StoredFieldVisitor.Status
-
-
Field Summary
Fields Modifier and Type Field Description (package private) BytesRefbinaryValue(package private) FieldInfocurrentField(package private) java.lang.NumbernumericValue(package private) FieldInfosremapper(package private) java.lang.StringstringValue
-
Constructor Summary
Constructors Constructor Description MergeVisitor(MergeState mergeState, int readerIndex)Create new merge visitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbinaryField(FieldInfo fieldInfo, byte[] value)Process a binary field.BytesRefbinaryValue()Non-null if this field has a binary valuevoiddoubleField(FieldInfo fieldInfo, double value)Process a double numeric field.IndexableFieldTypefieldType()IndexableFieldTypedescribing the properties of this field.voidfloatField(FieldInfo fieldInfo, float value)Process a float numeric field.voidintField(FieldInfo fieldInfo, int value)Process a int numeric field.voidlongField(FieldInfo fieldInfo, long value)Process a long numeric field.java.lang.Stringname()Field nameStoredFieldVisitor.StatusneedsField(FieldInfo fieldInfo)Hook before processing a field.java.lang.NumbernumericValue()Non-null if this field has a numeric valuejava.io.ReaderreaderValue()Non-null if this field has a Reader value(package private) voidreset(FieldInfo field)voidstringField(FieldInfo fieldInfo, byte[] value)Process a string field; the provided byte[] value is a UTF-8 encoded string value.java.lang.StringstringValue()Non-null if this field has a string valueTokenStreamtokenStream(Analyzer analyzer, TokenStream reuse)Creates the TokenStream used for indexing this field.(package private) voidwrite()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.index.IndexableField
getCharSequenceValue
-
-
-
-
Field Detail
-
binaryValue
BytesRef binaryValue
-
stringValue
java.lang.String stringValue
-
numericValue
java.lang.Number numericValue
-
currentField
FieldInfo currentField
-
remapper
FieldInfos remapper
-
-
Constructor Detail
-
MergeVisitor
public MergeVisitor(MergeState mergeState, int readerIndex)
Create new merge visitor.
-
-
Method Detail
-
binaryField
public void binaryField(FieldInfo fieldInfo, byte[] value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a binary field.- Overrides:
binaryFieldin classStoredFieldVisitorvalue- newly allocated byte array with the binary contents.- Throws:
java.io.IOException
-
stringField
public void stringField(FieldInfo fieldInfo, byte[] value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a string field; the provided byte[] value is a UTF-8 encoded string value.- Overrides:
stringFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
intField
public void intField(FieldInfo fieldInfo, int value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a int numeric field.- Overrides:
intFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
longField
public void longField(FieldInfo fieldInfo, long value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a long numeric field.- Overrides:
longFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
floatField
public void floatField(FieldInfo fieldInfo, float value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a float numeric field.- Overrides:
floatFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
doubleField
public void doubleField(FieldInfo fieldInfo, double value) throws java.io.IOException
Description copied from class:StoredFieldVisitorProcess a double numeric field.- Overrides:
doubleFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
needsField
public StoredFieldVisitor.Status needsField(FieldInfo fieldInfo) throws java.io.IOException
Description copied from class:StoredFieldVisitorHook before processing a field. Before a field is processed, this method is invoked so that subclasses can return aStoredFieldVisitor.Statusrepresenting whether they need that particular field or not, or to stop processing entirely.- Specified by:
needsFieldin classStoredFieldVisitor- Throws:
java.io.IOException
-
name
public java.lang.String name()
Description copied from interface:IndexableFieldField name- Specified by:
namein interfaceIndexableField
-
fieldType
public IndexableFieldType fieldType()
Description copied from interface:IndexableFieldIndexableFieldTypedescribing the properties of this field.- Specified by:
fieldTypein interfaceIndexableField
-
binaryValue
public BytesRef binaryValue()
Description copied from interface:IndexableFieldNon-null if this field has a binary value- Specified by:
binaryValuein interfaceIndexableField
-
stringValue
public java.lang.String stringValue()
Description copied from interface:IndexableFieldNon-null if this field has a string value- Specified by:
stringValuein interfaceIndexableField
-
numericValue
public java.lang.Number numericValue()
Description copied from interface:IndexableFieldNon-null if this field has a numeric value- Specified by:
numericValuein interfaceIndexableField
-
readerValue
public java.io.Reader readerValue()
Description copied from interface:IndexableFieldNon-null if this field has a Reader value- Specified by:
readerValuein interfaceIndexableField
-
tokenStream
public TokenStream tokenStream(Analyzer analyzer, TokenStream reuse)
Description copied from interface:IndexableFieldCreates the TokenStream used for indexing this field. If appropriate, implementations should use the given Analyzer to create the TokenStreams.- Specified by:
tokenStreamin interfaceIndexableField- Parameters:
analyzer- Analyzer that should be used to create the TokenStreams fromreuse- TokenStream for a previous instance of this field name. This allows custom field types (like StringField and NumericField) that do not use the analyzer to still have good performance. Note: the passed-in type may be inappropriate, for example if you mix up different types of Fields for the same field name. So it's the responsibility of the implementation to check.- Returns:
- TokenStream value for indexing the document. Should always return a non-null value if the field is to be indexed
-
reset
void reset(FieldInfo field)
-
write
void write() throws java.io.IOException- Throws:
java.io.IOException
-
-