Anyone know why I'm getting this exception? I'm following the example
here < http://wiki.apache.org/solr/DataImportHandler#ScriptTransformer>
but I get the below error. The field type in my schema.xml is string,
text doesn't work either. Why would I get an error that there's no split
method on a string?
Caused by: sun.org.mozilla.javascript.internal.EvaluatorException: Java
class "[B" has no public instance field or method named "split".
(<Unknown source>#52)
Here's the JS
function parseAttachments(row){
var mainDelim = '(|)', subDelim = '-|-',
attRow = [//This must be in the order that it was
concatinated in the query.
{ index:0, field:'attachmentFileName',
arr: new java.util.ArrayList()},
{ index:1, field:'attachmentSize',
arr: new java.util.ArrayList()},
{ index:2, field:'attachmentMIMEType',
arr: new java.util.ArrayList()},
{ index:3,
field:'attachmentExtractedText', arr: new java.util.ArrayList()},
{ index:4, field:'attachmentLink',
arr: new java.util.ArrayList()}
]
var allAttachments =
row.get('attachments').split(mainDelim);
for(var i=0,l=allAttachments.length; i<l; i++) {
var attachment = allAttachments[i].split(subDelim);
for(var j=0,jl=attRow.length; j<jl; j++){
var itm = attachment[j],
arr = attRow[j].arr;
arr.add(itm);
}
}
for(var j=0,jl=attRow.length; j<jl; j++){
var itm = attRow[j];
row.put(itm.field, itm.arr);
}
row.remove('attachments');
return row;
}