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
-
-
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 void
binaryField(FieldInfo fieldInfo, byte[] value)
Process a binary field.BytesRef
binaryValue()
Non-null if this field has a binary valuevoid
doubleField(FieldInfo fieldInfo, double value)
Process a double numeric field.IndexableFieldType
fieldType()
IndexableFieldType
describing the properties of this field.void
floatField(FieldInfo fieldInfo, float value)
Process a float numeric field.void
intField(FieldInfo fieldInfo, int value)
Process a int numeric field.void
longField(FieldInfo fieldInfo, long value)
Process a long numeric field.String
name()
Field nameStoredFieldVisitor.Status
needsField(FieldInfo fieldInfo)
Hook before processing a field.Number
numericValue()
Non-null if this field has a numeric valueReader
readerValue()
Non-null if this field has a Reader valuevoid
stringField(FieldInfo fieldInfo, String value)
Process a string field.String
stringValue()
Non-null if this field has a string valueTokenStream
tokenStream(Analyzer analyzer, TokenStream reuse)
Creates the TokenStream used for indexing this field.-
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
-
-
-
-
Constructor Detail
-
MergeVisitor
public MergeVisitor(MergeState mergeState, int readerIndex)
Create new merge visitor.
-
-
Method Detail
-
binaryField
public void binaryField(FieldInfo fieldInfo, byte[] value) throws IOException
Description copied from class:StoredFieldVisitor
Process a binary field.- Overrides:
binaryField
in classStoredFieldVisitor
value
- newly allocated byte array with the binary contents.- Throws:
IOException
-
stringField
public void stringField(FieldInfo fieldInfo, String value) throws IOException
Description copied from class:StoredFieldVisitor
Process a string field.- Overrides:
stringField
in classStoredFieldVisitor
- Throws:
IOException
-
intField
public void intField(FieldInfo fieldInfo, int value) throws IOException
Description copied from class:StoredFieldVisitor
Process a int numeric field.- Overrides:
intField
in classStoredFieldVisitor
- Throws:
IOException
-
longField
public void longField(FieldInfo fieldInfo, long value) throws IOException
Description copied from class:StoredFieldVisitor
Process a long numeric field.- Overrides:
longField
in classStoredFieldVisitor
- Throws:
IOException
-
floatField
public void floatField(FieldInfo fieldInfo, float value) throws IOException
Description copied from class:StoredFieldVisitor
Process a float numeric field.- Overrides:
floatField
in classStoredFieldVisitor
- Throws:
IOException
-
doubleField
public void doubleField(FieldInfo fieldInfo, double value) throws IOException
Description copied from class:StoredFieldVisitor
Process a double numeric field.- Overrides:
doubleField
in classStoredFieldVisitor
- Throws:
IOException
-
needsField
public StoredFieldVisitor.Status needsField(FieldInfo fieldInfo) throws IOException
Description copied from class:StoredFieldVisitor
Hook before processing a field. Before a field is processed, this method is invoked so that subclasses can return aStoredFieldVisitor.Status
representing whether they need that particular field or not, or to stop processing entirely.- Specified by:
needsField
in classStoredFieldVisitor
- Throws:
IOException
-
name
public String name()
Description copied from interface:IndexableField
Field name- Specified by:
name
in interfaceIndexableField
-
fieldType
public IndexableFieldType fieldType()
Description copied from interface:IndexableField
IndexableFieldType
describing the properties of this field.- Specified by:
fieldType
in interfaceIndexableField
-
binaryValue
public BytesRef binaryValue()
Description copied from interface:IndexableField
Non-null if this field has a binary value- Specified by:
binaryValue
in interfaceIndexableField
-
stringValue
public String stringValue()
Description copied from interface:IndexableField
Non-null if this field has a string value- Specified by:
stringValue
in interfaceIndexableField
-
numericValue
public Number numericValue()
Description copied from interface:IndexableField
Non-null if this field has a numeric value- Specified by:
numericValue
in interfaceIndexableField
-
readerValue
public Reader readerValue()
Description copied from interface:IndexableField
Non-null if this field has a Reader value- Specified by:
readerValue
in interfaceIndexableField
-
tokenStream
public TokenStream tokenStream(Analyzer analyzer, TokenStream reuse)
Description copied from interface:IndexableField
Creates the TokenStream used for indexing this field. If appropriate, implementations should use the given Analyzer to create the TokenStreams.- Specified by:
tokenStream
in 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
-
-