abstract class CSVLoader extends ContentStreamLoader
Modifier and Type | Class and Description |
---|---|
private class |
CSVLoader.FieldAdder
Add a field to a document unless it's zero length.
|
private class |
CSVLoader.FieldAdderEmpty
add zero length fields
|
private class |
CSVLoader.FieldMapperSingle
map a single value.
|
private class |
CSVLoader.FieldSplitter
Split a single value into multiple values based on
a CSVStrategy.
|
private class |
CSVLoader.FieldTrimmer
trim fields
|
Modifier and Type | Field and Description |
---|---|
(package private) CSVLoader.FieldAdder[] |
adders |
private static java.util.regex.Pattern |
colonSplit |
private static java.util.regex.Pattern |
commaSplit |
static java.lang.String |
EMPTY |
static java.lang.String |
ENCAPSULATOR |
(package private) java.lang.String |
errHeader |
static java.lang.String |
ESCAPE |
(package private) java.lang.String[] |
fieldnames |
static java.lang.String |
FIELDNAMES |
(package private) SchemaField[] |
fields |
static java.lang.String |
HEADER |
static java.lang.String |
MAP |
static java.lang.String |
OVERWRITE |
(package private) SolrParams |
params |
(package private) UpdateRequestProcessor |
processor |
(package private) IndexSchema |
schema |
static java.lang.String |
SEPARATOR |
static java.lang.String |
SKIP |
(package private) int |
skipLines |
static java.lang.String |
SKIPLINES |
static java.lang.String |
SPLIT |
(package private) CSVStrategy |
strategy |
(package private) AddUpdateCommand |
templateAdd |
static java.lang.String |
TRIM |
Constructor and Description |
---|
CSVLoader(SolrQueryRequest req,
UpdateRequestProcessor processor) |
Modifier and Type | Method and Description |
---|---|
(package private) abstract void |
addDoc(int line,
java.lang.String[] vals)
called for each line of values (document)
|
(package private) void |
doAdd(int line,
java.lang.String[] vals,
SolrInputDocument doc,
AddUpdateCommand template)
this must be MT safe...
|
private void |
input_err(java.lang.String msg,
java.lang.String[] line,
int lineno) |
private void |
input_err(java.lang.String msg,
java.lang.String[] lines,
int lineNo,
java.lang.Throwable e) |
void |
load(SolrQueryRequest req,
SolrQueryResponse rsp,
ContentStream stream)
load the CSV input
|
(package private) void |
prepareFields()
create the FieldAdders that control how each field is indexed
|
getErrHeader, setErrHeader
public static final java.lang.String SEPARATOR
public static final java.lang.String FIELDNAMES
public static final java.lang.String HEADER
public static final java.lang.String SKIP
public static final java.lang.String SKIPLINES
public static final java.lang.String MAP
public static final java.lang.String TRIM
public static final java.lang.String EMPTY
public static final java.lang.String SPLIT
public static final java.lang.String ENCAPSULATOR
public static final java.lang.String ESCAPE
public static final java.lang.String OVERWRITE
private static java.util.regex.Pattern colonSplit
private static java.util.regex.Pattern commaSplit
final IndexSchema schema
final SolrParams params
final CSVStrategy strategy
final UpdateRequestProcessor processor
java.lang.String[] fieldnames
SchemaField[] fields
CSVLoader.FieldAdder[] adders
int skipLines
final AddUpdateCommand templateAdd
java.lang.String errHeader
CSVLoader(SolrQueryRequest req, UpdateRequestProcessor processor)
void prepareFields()
private void input_err(java.lang.String msg, java.lang.String[] line, int lineno)
private void input_err(java.lang.String msg, java.lang.String[] lines, int lineNo, java.lang.Throwable e)
public void load(SolrQueryRequest req, SolrQueryResponse rsp, ContentStream stream) throws java.io.IOException
load
in class ContentStreamLoader
req
- The input SolrQueryRequest
rsp
- The response, in case the Loader wishes to add anythingstream
- The ContentStream
to addjava.io.IOException
abstract void addDoc(int line, java.lang.String[] vals) throws java.io.IOException
java.io.IOException
void doAdd(int line, java.lang.String[] vals, SolrInputDocument doc, AddUpdateCommand template) throws java.io.IOException
java.io.IOException