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;
        }

Reply via email to