## org.apache.lucene.benchmark.byTask.feeds
Class DocMaker

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

All Implemented Interfaces:
  Closeable

    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.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).

Field Summary
`static String` `BODY_FIELD`
`protected org.apache.lucene.document.Field.Index` `bodyIndexVal`
`protected org.apache.lucene.document.Field.Store` `bodyStoreVal`
`static String` `BYTES_FIELD`
`protected Config` `config`
`static String` `DATE_FIELD`
`static String` `DATE_MSEC_FIELD`
`static String` `ID_FIELD`
`protected boolean` `indexProperties`
`protected org.apache.lucene.document.Field.Index` `indexVal`
`static String` `NAME_FIELD`
`protected boolean` `reuseFields`
`protected ContentSource` `source`
`protected org.apache.lucene.document.Field.Store` `storeVal`
`protected org.apache.lucene.document.Field.TermVector` `termVecVal`
`static String` `TIME_SEC_FIELD`
`static String` `TITLE_FIELD`

Constructor Summary
`DocMaker()`

Method Summary
`void` `close()` Closes the `DocMaker`.
`long` `getBytesCount()` Returns the number of bytes generated by the content source since last reset.
`protected org.apache.lucene.benchmark.byTask.feeds.DocMaker.DocState` `getDocState()`
`long` `getTotalBytesCount()` Returns the total number of bytes that were generated by the content source defined to that doc maker.
`org.apache.lucene.document.Document` `makeDocument()` Creates a `Document` object ready for indexing.
`org.apache.lucene.document.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)` 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 Detail

### 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

### storeVal

    protected org.apache.lucene.document.Field.Store storeVal

### bodyStoreVal

    protected org.apache.lucene.document.Field.Store bodyStoreVal

### indexVal

    protected org.apache.lucene.document.Field.Index indexVal

### bodyIndexVal

    protected org.apache.lucene.document.Field.Index bodyIndexVal

### termVecVal

    protected org.apache.lucene.document.Field.TermVector termVecVal

### source

    protected ContentSource source

### reuseFields

    protected boolean reuseFields

### indexProperties

    protected boolean indexProperties

Constructor Detail

### DocMaker

    public DocMaker()

Method Detail

### getDocState

    protected org.apache.lucene.benchmark.byTask.feeds.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 `Closeable`
  Throws:
    `IOException`

### getBytesCount

    public long getBytesCount()

  Returns the number of bytes generated by the content source since last reset.

### getTotalBytesCount

    public long getTotalBytesCount()

  Returns the total number of bytes that were generated by the content source defined to that doc maker.

### makeDocument

    public org.apache.lucene.document.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 org.apache.lucene.document.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)

  Set the configuration parameters of this doc maker.