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.StoredFieldVisitor
Inspired 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
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.lucene.index.StoredFieldVisitor

    org.apache.lucene.index.StoredFieldVisitor.Status
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a visitor that collects all fields.
    Create a visitor that collects only some specified fields.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    binaryField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)
     
    void
    doubleField(org.apache.lucene.index.FieldInfo fieldInfo, double value)
     
    void
    floatField(org.apache.lucene.index.FieldInfo fieldInfo, float value)
     
    org.apache.lucene.document.Document
    Retrieve the visited document, and resets the instance to be reused by creating a new Document internally.
    void
    intField(org.apache.lucene.index.FieldInfo fieldInfo, int value)
     
    void
    longField(org.apache.lucene.index.FieldInfo fieldInfo, long value)
     
    org.apache.lucene.index.StoredFieldVisitor.Status
    needsField(org.apache.lucene.index.FieldInfo fieldInfo)
     
    void
    stringField(org.apache.lucene.index.FieldInfo fieldInfo, String value)
     

    Methods inherited from class org.apache.lucene.index.StoredFieldVisitor

    binaryField

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ReusableDocumentStoredFieldVisitor

      public ReusableDocumentStoredFieldVisitor()
      Create a visitor that collects all fields.
    • ReusableDocumentStoredFieldVisitor

      public ReusableDocumentStoredFieldVisitor(Set<String> fieldsToLoad)
      Create a visitor that collects only some specified fields.
  • Method Details

    • binaryField

      public void binaryField(org.apache.lucene.index.FieldInfo fieldInfo, byte[] value)
      Overrides:
      binaryField in class org.apache.lucene.index.StoredFieldVisitor
    • stringField

      public void stringField(org.apache.lucene.index.FieldInfo fieldInfo, String value)
      Overrides:
      stringField in class org.apache.lucene.index.StoredFieldVisitor
    • intField

      public void intField(org.apache.lucene.index.FieldInfo fieldInfo, int value)
      Overrides:
      intField in class org.apache.lucene.index.StoredFieldVisitor
    • longField

      public void longField(org.apache.lucene.index.FieldInfo fieldInfo, long value)
      Overrides:
      longField in class org.apache.lucene.index.StoredFieldVisitor
    • floatField

      public void floatField(org.apache.lucene.index.FieldInfo fieldInfo, float value)
      Overrides:
      floatField in class org.apache.lucene.index.StoredFieldVisitor
    • doubleField

      public void doubleField(org.apache.lucene.index.FieldInfo fieldInfo, double value)
      Overrides:
      doubleField in class org.apache.lucene.index.StoredFieldVisitor
    • needsField

      public org.apache.lucene.index.StoredFieldVisitor.Status needsField(org.apache.lucene.index.FieldInfo fieldInfo)
      Specified by:
      needsField in class org.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.