org.apache.lucene.benchmark.byTask.tasks

## Class CreateIndexTask

- java.lang.Object
- - org.apache.lucene.benchmark.byTask.tasks.PerfTask
  - - org.apache.lucene.benchmark.byTask.tasks.CreateIndexTask

All Implemented Interfaces:
  Cloneable

    public class CreateIndexTask
    extends PerfTask

Create an index.
Other side effects: index writer object in perfRunData is set.
Relevant properties: `merge.factor (default 10), max.buffered (default no flush), compound (default true), ram.flush.mb [default 0], merge.policy (default org.apache.lucene.index.LogByteSizeMergePolicy), merge.scheduler (default org.apache.lucene.index.ConcurrentMergeScheduler), concurrent.merge.scheduler.max.thread.count and concurrent.merge.scheduler.max.merge.count (defaults per ConcurrentMergeScheduler), default.codec` .

This task also supports a "writer.info.stream" property with the following values:

- SystemOut - sets `IndexWriterConfig.setInfoStream(java.io.PrintStream)` to `System.out`.
- SystemErr - sets `IndexWriterConfig.setInfoStream(java.io.PrintStream)` to `System.err`.
- <file_name> - attempts to create a file given that name and sets `IndexWriterConfig.setInfoStream(java.io.PrintStream)` to that file. If this denotes an invalid file name, or some error occurs, an exception will be thrown.

### Field Summary

### Fields inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask

`logStep, NEW_LINE, params, stopNow`

### Constructor Summary

Constructors
Constructor and Description
`CreateIndexTask(PerfRunData runData)`

### Method Summary

Methods
`static IndexWriter` `configureWriter(Config config, PerfRunData runData, IndexWriterConfig.OpenMode mode, IndexCommit commit)`
`static IndexWriterConfig` `createWriterConfig(Config config, PerfRunData runData, IndexWriterConfig.OpenMode mode, IndexCommit commit)`
`int` `doLogic()` Perform the task once (ignoring repetitions specification) Return number of work items done by this task.
`static IndexDeletionPolicy` `getIndexDeletionPolicy(Config config)`

### Methods inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask

`clone, close, getAlgLineNum, getBackgroundDeltaPriority, getDepth, getLogMessage, getName, getParams, getRunData, getRunInBackground, isDisableCounting, runAndMaybeStats, setAlgLineNum, setDepth, setDisableCounting, setName, setParams, setRunInBackground, setup, shouldNeverLogAtStart, shouldNotRecordStats, stopNow, supportsParams, tearDown, toString`

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

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

### Constructor Detail

#### CreateIndexTask

    public CreateIndexTask(PerfRunData runData)

### Method Detail

#### getIndexDeletionPolicy

    public static IndexDeletionPolicy getIndexDeletionPolicy(Config config)

#### doLogic

    public int doLogic()
                throws IOException

Description copied from class: `PerfTask`
Perform the task once (ignoring repetitions specification) Return number of work items done by this task. For indexing that can be number of docs added. For warming that can be number of scanned items, etc.

Specified by:
  `doLogic` in class `PerfTask`
Returns:
  number of work items done by this task.
Throws:
  `IOException`

#### createWriterConfig

    public static IndexWriterConfig createWriterConfig(Config config,
                                       PerfRunData runData,
                                       IndexWriterConfig.OpenMode mode,
                                       IndexCommit commit)

#### configureWriter

    public static IndexWriter configureWriter(Config config,
                              PerfRunData runData,
                              IndexWriterConfig.OpenMode mode,
                              IndexCommit commit)
                                       throws IOException

Throws:
  `IOException`