Class LineDocSource
java.lang.Object
org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
org.apache.lucene.benchmark.byTask.feeds.ContentSource
org.apache.lucene.benchmark.byTask.feeds.LineDocSource
- All Implemented Interfaces:
Closeable
,AutoCloseable
A
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
Config properties:
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:
- docs.file=<path to the file>
- content.source.encoding - default to UTF-8.
- line.parser - default to
LineDocSource.HeaderLineParser
if a header line exists which differs fromWriteLineDocTask.DEFAULT_FIELDS
and toLineDocSource.SimpleLineParser
otherwise.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
LineDocSource.LineParser
which sets field names and order by the header - any header - of the lines file.static class
Reader of a single input line intoDocData
.static class
LineDocSource.LineParser
which ignores the header passed to its constructor and assumes simply that field names and their order are the same as inWriteLineDocTask.DEFAULT_FIELDS
-
Field Summary
Fields inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
encoding, forever, logStep, verbose
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Called when reading from this content source is no longer required.getNextDocData
(DocData docData) Returns the nextDocData
from the content source.void
Resets the input for this content source, so that the test would behave as if it was just started, input-wise.void
Sets theConfig
for this content source.Methods inherited from class org.apache.lucene.benchmark.byTask.feeds.ContentItemsSource
addBytes, addItem, collectFiles, getBytesCount, getConfig, getItemsCount, getTotalBytesCount, getTotalItemsCount, printStatistics, shouldLog
-
Constructor Details
-
LineDocSource
public LineDocSource()
-
-
Method Details
-
close
Description copied from class:ContentItemsSource
Called when reading from this content source is no longer required.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classContentItemsSource
- Throws:
IOException
-
getNextDocData
Description copied from class:ContentSource
Returns the nextDocData
from the content source. Implementations must account for multi-threading, as multiple threads can call this method simultaneously.- Specified by:
getNextDocData
in classContentSource
- Throws:
NoMoreDataException
IOException
-
resetInputs
Description copied from class:ContentItemsSource
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 items generated since the last reset, so it's important to call super.resetInputs in case you override this method.
- Overrides:
resetInputs
in classContentItemsSource
- Throws:
IOException
-
setConfig
Description copied from class:ContentItemsSource
Sets theConfig
for this content source. If you override this method, you must call super.setConfig.- Overrides:
setConfig
in classContentItemsSource
-