org.apache.lucene.benchmark.byTask.feeds
Class LineDocSource

java.lang.Object
  extended by org.apache.lucene.benchmark.byTask.feeds.ContentSource
      extended by org.apache.lucene.benchmark.byTask.feeds.LineDocSource

public class LineDocSource
extends ContentSource

A ContentSource reading one line at a time as a Document from a single file. This saves IO cost (over DirContentSource) of recursing through a directory and opening a new file for every document.
The expected format of each line is (arguments are separated by <TAB>): title, date, body. If a line is read in a different format, a RuntimeException will be thrown. In general, you should use this content source for files that were created with WriteLineDocTask.

Config properties:


Nested Class Summary
static class LineDocSource.HeaderLineParser
          LineDocSource.LineParser which sets field names and order by the header - any header - of the lines file.
static class LineDocSource.LineParser
          Reader of a single input line into DocData.
static class LineDocSource.SimpleLineParser
          LineDocSource.LineParser which ignores the header passed to its constructor and assumes simply that field names and their order are the same as in WriteLineDocTask.DEFAULT_FIELDS
 
Field Summary
 
Fields inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentSource
encoding, forever, logStep, verbose
 
Constructor Summary
LineDocSource()
           
 
Method Summary
 void close()
          Called when reading from this content source is no longer required.
 DocData getNextDocData(DocData docData)
          Returns the next DocData from the content source.
 void resetInputs()
          Resets the input for this content source, so that the test would behave as if it was just started, input-wise.
 void setConfig(Config config)
          Sets the Config for this content source.
 
Methods inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentSource
addBytes, addDoc, collectFiles, getBytesCount, getConfig, getDocsCount, getTotalBytesCount, getTotalDocsCount, shouldLog
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LineDocSource

public LineDocSource()
Method Detail

close

public void close()
           throws IOException
Description copied from class: ContentSource
Called when reading from this content source is no longer required.

Specified by:
close in class ContentSource
Throws:
IOException

getNextDocData

public DocData getNextDocData(DocData docData)
                       throws NoMoreDataException,
                              IOException
Description copied from class: ContentSource
Returns the next DocData from the content source.

Specified by:
getNextDocData in class ContentSource
Throws:
NoMoreDataException
IOException

resetInputs

public void resetInputs()
                 throws IOException
Description copied from class: ContentSource
Resets the input for this content source, so that the test would behave as if it was just started, input-wise.

NOTE: the default implementation resets the number of bytes and documents generated since the last reset, so it's important to call super.resetInputs in case you override this method.

Overrides:
resetInputs in class ContentSource
Throws:
IOException

setConfig

public void setConfig(Config config)
Description copied from class: ContentSource
Sets the Config for this content source. If you override this method, you must call super.setConfig.

Overrides:
setConfig in class ContentSource


Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.