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
`protected static class` `DocMaker.DocState` Document state, supports reuse of field instances across documents (see `reuseFields` parameter).

### Field Summary

Fields
`static String` `BODY_FIELD`
`protected FieldType` `bodyValType`
`static String` `BYTES_FIELD`
`protected Config` `config`
`static String` `DATE_FIELD`
`static String` `DATE_MSEC_FIELD`
`static String` `ID_FIELD`
`protected boolean` `indexProperties`
`static String` `NAME_FIELD`
`protected boolean` `reuseFields`
`protected ContentSource` `source`
`static String` `TIME_SEC_FIELD`
`static String` `TITLE_FIELD`
`protected FieldType` `valType`

### Constructor Summary

Constructors
Constructor and Description
`DocMaker()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 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

#### valType

    protected FieldType valType

#### bodyValType

    protected FieldType bodyValType

#### source

    protected ContentSource source

#### reuseFields

    protected boolean reuseFields

#### indexProperties

    protected boolean indexProperties

### Constructor Detail

#### DocMaker

    public DocMaker()

### Method Detail

#### 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 `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
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.