Package 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
Description
`CreateIndexTask(PerfRunData runData)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### CreateIndexTask

public CreateIndexTask(PerfRunData runData)

## Method Details

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