org.apache.lucene.benchmark.byTask.tasks
Class WriteLineDocTask

java.lang.Object
  extended by org.apache.lucene.benchmark.byTask.tasks.PerfTask
      extended by org.apache.lucene.benchmark.byTask.tasks.WriteLineDocTask
All Implemented Interfaces:
Cloneable

public class WriteLineDocTask
extends PerfTask

A task which writes documents, one line per document. Each line is in the following format: title <TAB> date <TAB> body. The output of this task can be consumed by LineDocSource and is intended to save the IO overhead of opening a file per document to be indexed.

The format of the output is set according to the output file extension. Compression is recommended when the output file is expected to be large. See info on file extensions in StreamUtils.Type

Supports the following parameters:

NOTE: this class is not thread-safe and if used by multiple threads the output is unspecified (as all will write to the same output file in a non-synchronized way).


Field Summary
static String[] DEFAULT_FIELDS
          Fields to be written by default
static String DEFAULT_SUFFICIENT_FIELDS
          Default fields which at least one of them is required to not skip the doc.
static String FIELDS_HEADER_INDICATOR
           
static char SEP
           
 
Fields inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
logStep, NEW_LINE, params, stopNow
 
Constructor Summary
WriteLineDocTask(PerfRunData runData)
           
 
Method Summary
 void close()
           
 int doLogic()
          Perform the task once (ignoring repetitions specification) Return number of work items done by this task.
protected  String getLogMessage(int recsCount)
           
 void setParams(String params)
          Set the params (docSize only)
 boolean supportsParams()
          Sub classes that support parameters must override this method to return true.
 
Methods inherited from class org.apache.lucene.benchmark.byTask.tasks.PerfTask
clone, getBackgroundDeltaPriority, getDepth, getName, getParams, getRunData, getRunInBackground, isDisableCounting, runAndMaybeStats, setDepth, setDisableCounting, setName, setRunInBackground, setup, shouldNeverLogAtStart, shouldNotRecordStats, stopNow, tearDown, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FIELDS_HEADER_INDICATOR

public static final String FIELDS_HEADER_INDICATOR
See Also:
Constant Field Values

SEP

public static final char SEP
See Also:
Constant Field Values

DEFAULT_FIELDS

public static final String[] DEFAULT_FIELDS
Fields to be written by default


DEFAULT_SUFFICIENT_FIELDS

public static final String DEFAULT_SUFFICIENT_FIELDS
Default fields which at least one of them is required to not skip the doc.

See Also:
Constant Field Values
Constructor Detail

WriteLineDocTask

public WriteLineDocTask(PerfRunData runData)
                 throws Exception
Throws:
Exception
Method Detail

getLogMessage

protected String getLogMessage(int recsCount)
Overrides:
getLogMessage in class PerfTask

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

close

public void close()
           throws Exception
Overrides:
close in class PerfTask
Throws:
Exception

setParams

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

Overrides:
setParams in class PerfTask
Parameters:
params - docSize, or 0 for no limit.

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.