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
ConstructorDescriptionMergeVisitor
(MergeState mergeState, int readerIndex) Create new merge visitor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
binaryField
(FieldInfo fieldInfo, byte[] value) Process a binary field.Non-null if this field has a binary valuevoid
doubleField
(FieldInfo fieldInfo, double value) Process a double numeric field.IndexableFieldType
describing the properties of this field.void
floatField
(FieldInfo fieldInfo, float value) Process a float numeric field.void
Process a int numeric field.void
Process a long numeric field.name()
Field nameneedsField
(FieldInfo fieldInfo) Hook before processing a field.Non-null if this field has a numeric valueNon-null if this field has a Reader valuevoid
stringField
(FieldInfo fieldInfo, String value) Process a string field.Non-null if this field has a string valuetokenStream
(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 Details
-
MergeVisitor
Create new merge visitor.
-
-
Method Details
-
binaryField
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
Description copied from class:StoredFieldVisitor
Process a string field.- Overrides:
stringField
in classStoredFieldVisitor
- Throws:
IOException
-
intField
Description copied from class:StoredFieldVisitor
Process a int numeric field.- Overrides:
intField
in classStoredFieldVisitor
- Throws:
IOException
-
longField
Description copied from class:StoredFieldVisitor
Process a long numeric field.- Overrides:
longField
in classStoredFieldVisitor
- Throws:
IOException
-
floatField
Description copied from class:StoredFieldVisitor
Process a float numeric field.- Overrides:
floatField
in classStoredFieldVisitor
- Throws:
IOException
-
doubleField
Description copied from class:StoredFieldVisitor
Process a double numeric field.- Overrides:
doubleField
in classStoredFieldVisitor
- Throws:
IOException
-
needsField
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
Description copied from interface:IndexableField
Field name- Specified by:
name
in interfaceIndexableField
-
fieldType
Description copied from interface:IndexableField
IndexableFieldType
describing the properties of this field.- Specified by:
fieldType
in interfaceIndexableField
-
binaryValue
Description copied from interface:IndexableField
Non-null if this field has a binary value- Specified by:
binaryValue
in interfaceIndexableField
-
stringValue
Description copied from interface:IndexableField
Non-null if this field has a string value- Specified by:
stringValue
in interfaceIndexableField
-
numericValue
Description copied from interface:IndexableField
Non-null if this field has a numeric value- Specified by:
numericValue
in interfaceIndexableField
-
readerValue
Description copied from interface:IndexableField
Non-null if this field has a Reader value- Specified by:
readerValue
in interfaceIndexableField
-
tokenStream
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
-