I'm having an issue calling a .js file from an update request processor chain. The purpose of this is to parse some information from a field and put it into another. Unfortunately, it's giving a NoSuchMethodException.
On indexing, I'm getting this error:
"error":{
"metadata":[
"error-class","org.apache.solr.common.SolrException",
"root-error-class","java.lang.NoSuchMethodException"],
"msg":"Unable to invoke function finish in script: /var/solr/data/nma3/conf/updateProcessor.js: No such function finish",
"trace":"org.apache.solr.common.SolrException: Unable to invoke function finish in script: /var/solr/data/nma3/conf/updateProcessor.js: No such function finish\n\tat org.apache.solr.update.processor.StatelessScriptUpdateProcessorFactory$ScriptUpdateProcessor.invokeFunctionUnsafe(StatelessScriptUpdateProcessorFactory.java:468)\n\tat org.apache.solr.update.processor.StatelessScriptUpdateProcessorFactory$ScriptUpdateProcessor.access$300(StatelessScriptUpdateProcessorFactory.java:385)\n\tat org.apache.solr.update.processor.StatelessScriptUpdateProcessorFactory$ScriptUpdateProcessor$1.run(StatelessScriptUpdateProcessorFactory.java:447)
In solrconfig.xml:
Here is the URH:
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<lst name="defaults">
<str name="update.chain">update_chain</str>
</lst>
</requestHandler>
And the URP Chain:
<updateRequestProcessorChain name="update_chain" default="true">
<processor class="solr.StatelessScriptUpdateProcessorFactory">
<str name="script">updateProcessor.js</str>
</processor>
<processor class="solr.RunUpdateProcessorFactory"/>
<processor class="solr.LogUpdateProcessorFactory"/>
</updateRequestProcessorChain>
And in the same folder (conf), updateProcessor.js consists of:
function processAdd(cmd) {
doc = cmd.solrDoc;
field = doc.getFieldValue("id");
desired_val = field.split("/")[3];
doc.setField("split", desired_val);
}
I've tried a few things and I'm stuck. Any help is appreciated. Thanks