Class ReusableDocumentStoredFieldVisitor
- java.lang.Object
-
- org.apache.lucene.index.StoredFieldVisitor
-
- org.hibernate.search.backend.lucene.search.extraction.impl.ReusableDocumentStoredFieldVisitor
-
public final class ReusableDocumentStoredFieldVisitor extends org.apache.lucene.index.StoredFieldVisitorInspired by Lucene's DocumentStoredFieldVisitor, with the difference that we want to reuse the same FieldVisitor to load multiple Document instances. Also the accepted fields are kept in a linked-list like structure, to optimize for small amounts of accepted fields. A ReusableDocumentStoredFieldVisitor is NOT threadsafe: in case you need one for multiple threads make a clone for each thread.- Author:
- Sanne Grinovero
- See Also:
DocumentStoredFieldVisitor
-
-
Constructor Summary
Constructors Constructor Description ReusableDocumentStoredFieldVisitor()Create a visitor that collects all fields.ReusableDocumentStoredFieldVisitor(Set<String> fieldsToLoad)Create a visitor that collects only some specified fields.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbinaryField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)voiddoubleField(org.apache.lucene.index.FieldInfo fieldInfo, double value)voidfloatField(org.apache.lucene.index.FieldInfo fieldInfo, float value)org.apache.lucene.document.DocumentgetDocumentAndReset()Retrieve the visited document, and resets the instance to be reused by creating a new Document internally.voidintField(org.apache.lucene.index.FieldInfo fieldInfo, int value)voidlongField(org.apache.lucene.index.FieldInfo fieldInfo, long value)org.apache.lucene.index.StoredFieldVisitor.StatusneedsField(org.apache.lucene.index.FieldInfo fieldInfo)voidstringField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)
-
-
-
Method Detail
-
binaryField
public void binaryField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)- Overrides:
binaryFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
stringField
public void stringField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)- Overrides:
stringFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
intField
public void intField(org.apache.lucene.index.FieldInfo fieldInfo, int value)- Overrides:
intFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
longField
public void longField(org.apache.lucene.index.FieldInfo fieldInfo, long value)- Overrides:
longFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
floatField
public void floatField(org.apache.lucene.index.FieldInfo fieldInfo, float value)- Overrides:
floatFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
doubleField
public void doubleField(org.apache.lucene.index.FieldInfo fieldInfo, double value)- Overrides:
doubleFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
needsField
public org.apache.lucene.index.StoredFieldVisitor.Status needsField(org.apache.lucene.index.FieldInfo fieldInfo)
- Specified by:
needsFieldin classorg.apache.lucene.index.StoredFieldVisitor
-
getDocumentAndReset
public org.apache.lucene.document.Document getDocumentAndReset()
Retrieve the visited document, and resets the instance to be reused by creating a new Document internally.- Returns:
- Document populated with stored fields.
-
-