Package org.apache.lucene.benchmark.byTask.feeds

# Class DocMaker

java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.DocMaker

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `SpatialDocMaker`

public class DocMaker extends Object implements Closeable
Creates `Document` objects. Uses a `ContentSource` to generate `DocData` objects. Supports the following parameters:

- content.source - specifies the `ContentSource` class to use (default SingleDocSource).
- doc.stored - specifies whether fields should be stored (default false).
- doc.body.stored - specifies whether the body field should be stored (default = doc.stored).
- doc.tokenized - specifies whether fields should be tokenized (default true).
- doc.body.tokenized - specifies whether the body field should be tokenized (default = doc.tokenized).
- doc.body.offsets - specifies whether to add offsets into the postings index for the body field. It is useful for highlighting. (default false)
- doc.tokenized.norms - specifies whether norms should be stored in the index or not. (default false).
- doc.body.tokenized.norms - specifies whether norms should be stored in the index for the body field. This can be set to true, while `doc.tokenized.norms` is set to false, to allow norms storing just for the body field. (default true).
- doc.term.vector - specifies whether term vectors should be stored for fields (default false).
- doc.term.vector.positions - specifies whether term vectors should be stored with positions (default false).
- doc.term.vector.offsets - specifies whether term vectors should be stored with offsets (default false).
- doc.store.body.bytes - specifies whether to store the raw bytes of the document's content in the document (default false).
- doc.reuse.fields - specifies whether Field and Document objects should be reused (default true).
- doc.index.props - specifies whether the properties returned by
- doc.random.id.limit - if specified, docs will be assigned random IDs from 0 to this limit. This is useful with UpdateDoc for testing performance of IndexWriter.updateDocument. `DocData.getProps()` will be indexed. (default false).

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static class`
  `DocMaker.DocState`
  Document state, supports reuse of field instances across documents (see `reuseFields` parameter).

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BODY_FIELD`
  `protected FieldType`
  `bodyValType`
  `static final String`
  `BYTES_FIELD`
  `protected Config`
  `config`
  `static final String`
  `DATE_FIELD`
  `static final String`
  `DATE_MSEC_FIELD`
  `static final String`
  `ID_FIELD`
  `protected boolean`
  `indexProperties`
  `static final String`
  `NAME_FIELD`
  `protected boolean`
  `reuseFields`
  `protected ContentSource`
  `source`
  `static final String`
  `TIME_SEC_FIELD`
  `static final String`
  `TITLE_FIELD`
  `protected FieldType`
  `valType`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DocMaker()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the `DocMaker`.
  `protected DocMaker.DocState`
  `getDocState()`
  `Document`
  `makeDocument()`
  Creates a `Document` object ready for indexing.
  `Document`
  `makeDocument(int size)`
  Same as `makeDocument()`, only this method creates a document of the given size input by `size`.
  `void`
  `resetInputs()`
  Reset inputs so that the test run would behave, input wise, as if it just started.
  `void`
  `setConfig(Config config, ContentSource source)`
  Set the configuration parameters of this doc maker.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### BODY_FIELD

    public static final String BODY_FIELD
    See Also:
      - Constant Field Values

  - ### TITLE_FIELD

    public static final String TITLE_FIELD
    See Also:
      - Constant Field Values

  - ### DATE_FIELD

    public static final String DATE_FIELD
    See Also:
      - Constant Field Values

  - ### DATE_MSEC_FIELD

    public static final String DATE_MSEC_FIELD
    See Also:
      - Constant Field Values

  - ### TIME_SEC_FIELD

    public static final String TIME_SEC_FIELD
    See Also:
      - Constant Field Values

  - ### ID_FIELD

    public static final String ID_FIELD
    See Also:
      - Constant Field Values

  - ### BYTES_FIELD

    public static final String BYTES_FIELD
    See Also:
      - Constant Field Values

  - ### NAME_FIELD

    public static final String NAME_FIELD
    See Also:
      - Constant Field Values

  - ### config

    protected Config config

  - ### valType

    protected FieldType valType

  - ### bodyValType

    protected FieldType bodyValType

  - ### source

    protected ContentSource source

  - ### reuseFields

    protected boolean reuseFields

  - ### indexProperties

    protected boolean indexProperties

- ## Constructor Details

  - ### DocMaker

    public DocMaker()

- ## Method Details

  - ### getDocState

    protected DocMaker.DocState getDocState()

  - ### close

    public void close() throws IOException
    Closes the `DocMaker`. The base implementation closes the `ContentSource`, and it can be overridden to do more work (but make sure to call super.close()).
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException`

  - ### makeDocument

    public Document makeDocument() throws Exception
    Creates a `Document` object ready for indexing. This method uses the `ContentSource` to get the next document from the source, and creates a `Document` object from the returned fields. If `reuseFields` was set to true, it will reuse `Document` and `Field` instances.
    Throws:
      `Exception`

  - ### makeDocument

    public Document makeDocument(int size) throws Exception
    Same as `makeDocument()`, only this method creates a document of the given size input by `size`.
    Throws:
      `Exception`

  - ### resetInputs

    public void resetInputs() throws IOException
    Reset inputs so that the test run would behave, input wise, as if it just started.
    Throws:
      `IOException`

  - ### setConfig

    public void setConfig(Config config, ContentSource source)
    Set the configuration parameters of this doc maker.