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`