Package org.apache.lucene.benchmark.byTask.tasks

# Class AddIndexesTask

java.lang.Object
org.apache.lucene.benchmark.byTask.tasks.PerfTask
org.apache.lucene.benchmark.byTask.tasks.AddIndexesTask

All Implemented Interfaces:
  `Cloneable`

public class AddIndexesTask extends PerfTask
Adds an input index to an existing index, using `IndexWriter.addIndexes(Directory...)` or `IndexWriter.addIndexes(CodecReader...)`. The location of the input index is specified by the parameter `ADDINDEXES_INPUT_DIR` and is assumed to be a directory on the file system.

Takes optional parameter `useAddIndexesDir` which specifies which addIndexes variant to use (defaults to true, to use addIndexes(Directory)).

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ADDINDEXES_INPUT_DIR`

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

`logStep, NEW_LINE, params, stopNow`

## Constructor Summary

Constructors
Constructor
Description
`AddIndexesTask(PerfRunData runData)`

## Method Summary

Modifier and Type
Method
Description
`int`
`doLogic()`
Perform the task once (ignoring repetitions specification) Return number of work items done by this task.
`void`
`setParams(String params)`
Set the params (useAddIndexesDir only)
`void`
`setup()`
Task setup work that should not be measured for that specific task.
`boolean`
`supportsParams()`
Sub classes that support parameters must override this method to return true.
`void`
`tearDown()`
Task tearDown work that should not be measured for that specific task.

### 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, setRunInBackground, shouldNeverLogAtStart, shouldNotRecordStats, stopNow, toString`

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

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

## Field Details

### ADDINDEXES_INPUT_DIR

public static final String ADDINDEXES_INPUT_DIR

See Also:
  - Constant Field Values

## Constructor Details

### AddIndexesTask

public AddIndexesTask(PerfRunData runData)

## Method Details

### setup

public void setup() throws Exception
Description copied from class: `PerfTask`
Task setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from `PerfTask.doLogic()` to this method. Only the work done in `PerfTask.doLogic()` is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

Overrides:
  `setup` in class `PerfTask`
Throws:
  `Exception`

### doLogic

public int doLogic() throws Exception
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:
  `Exception`

### setParams

public void setParams(String params)
Set the params (useAddIndexesDir only)

Overrides:
  `setParams` in class `PerfTask`
Parameters:
  `params` - `useAddIndexesDir=true` for using `IndexWriter.addIndexes(Directory...)` or `false` for using `IndexWriter.addIndexes(CodecReader...)`. Defaults to `true`.

### supportsParams

public boolean supportsParams()
Description copied from class: `PerfTask`
Sub classes that support parameters must override this method to return true.

Overrides:
  `supportsParams` in class `PerfTask`
Returns:
  true iff this task supports command line params.

### tearDown

public void tearDown() throws Exception
Description copied from class: `PerfTask`
Task tearDown work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from `PerfTask.doLogic()` to this method. Only the work done in `PerfTask.doLogic()` is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

Overrides:
  `tearDown` in class `PerfTask`
Throws:
  `Exception`