Hi, I'm trying to use the new ScriptUpdateProcessor in trunk with a simple Python script. Everything seems to work nicely, but.... none of the params I specify in solrconfig.xml are being picked up. The error I'm getting is: "NameError: global name 'params' is not defined".
Am I doing something wrong? Is this a bug? I'd appreciate any help on this. Rene *summary.py* def processAdd(cmd): doc = cmd.solrDoc # org.apache.solr.common.SolrInputDocument id = doc.getFieldValue('Identifier') logger.info('update-script#processAdd: id=' + id) # Get a configuration parameter to_field = params.get('to_field') doc.setField(to_field, doc.getFieldValue('abstract')) #logger.info('copy ' + from_field + ' to ' + to_field) def processDelete(cmd): pass def processMergeIndexes(cmd): pass def processCommit(cmd): pass def processRollback(cmd): pass def finish(): pass *solrconfig.xml* <updateRequestProcessorChain name="script"> <processor class="solr.StatelessScriptUpdateProcessorFactory"> <str name="script">summarize.py</str> </processor> <!-- optional parameters passed to script --> <lst name="params"> <str name="from_field">abstract</str> <str name="to_field">summary</str> </lst> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain> *error* Caused by: javax.script.ScriptException: NameError: global name 'params' is not defined in <script> at line number 7 at org.python.jsr223.PyScriptEngine.scriptException(PyScriptEngine.java:202) at org.python.jsr223.PyScriptEngine.invokeFunction(PyScriptEngine.java:132) at org.apache.solr.update.processor.StatelessScriptUpdateProcessorFactory$ScriptUpdateProcessor.invokeFunction(StatelessScriptUpdateProcessorFactory.java:425) ... 29 more Caused by: Traceback (most recent call last): File "<script>", line 7, in processAdd NameError: global name 'params' is not defined at org.python.core.Py.NameError(Py.java:252) at org.python.core.PyFrame.getglobal(PyFrame.java:265) at org.python.pycode._pyx1.processAdd$1(<script>:9) at org.python.pycode._pyx1.call_function(<script>) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyBaseCode.call(PyBaseCode.java:301) at org.python.core.PyFunction.function___call__(PyFunction.java:406) at org.python.core.PyFunction.__call__(PyFunction.java:401) at org.python.core.PyFunction.__call__(PyFunction.java:391) at org.python.core.PyFunction.__call__(PyFunction.java:386) at org.python.jsr223.PyScriptEngine.invokeFunction(PyScriptEngine.java:126) ... 30 more