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

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

Field Summary
`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
`DocMaker()`

Method Summary
`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`
  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.

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.