lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] Commented: (SOLR-1725) Script based UpdateRequestProcessorFactory
Date Tue, 26 Jan 2010 22:32:34 GMT


Hoss Man commented on SOLR-1725:

Some random comments/questions from the peanut gallery...

1) what is the value add in making ScriptUpdateProcessorFactory support multiple "scripts"
? ... wouldn't it be simpler to require that users declare multiple instances of ScriptUpdateProcessorFactory
(that hte processor chain already executes in sequence) then to add sequential processing
to the ScriptUpdateProcessor?

2) The NamedList init args can be as deep of a data structure as you want, so something like
this would be totally feasible (if desired) ...

<processor class="solr.ScriptUpdateProcessorFactory">
  <lst name="scripts">
    <lst name="updateProcessor1.js">
      <bool name="someParamName">true</bool>
      <int name="someOtherParamName">3</int>
    <lst name="updateProcessor2.js">
      <bool name="fooParam">true</bool>
      <str name="barParam">3</str>
  <lst name="otherProcessorOPtionsIfNeeded">

> Script based UpdateRequestProcessorFactory
> ------------------------------------------
>                 Key: SOLR-1725
>                 URL:
>             Project: Solr
>          Issue Type: New Feature
>          Components: update
>    Affects Versions: 1.4
>            Reporter: Uri Boness
>         Attachments: SOLR-1725.patch, SOLR-1725.patch, SOLR-1725.patch, SOLR-1725.patch,
> A script based UpdateRequestProcessorFactory (Uses JDK6 script engine support). The main
goal of this plugin is to be able to configure/write update processors without the need to
write and package Java code.
> The update request processor factory enables writing update processors in scripts located
in {{solr.solr.home}} directory. The functory accepts one (mandatory) configuration parameter
named {{scripts}} which accepts a comma-separated list of file names. It will look for these
files under the {{conf}} directory in solr home. When multiple scripts are defined, their
execution order is defined by the lexicographical order of the script file name (so {{scriptA.js}}
will be executed before {{scriptB.js}}).
> The script language is resolved based on the script file extension (that is, a *.js files
will be treated as a JavaScript script), therefore an extension is mandatory.
> Each script file is expected to have one or more methods with the same signature as the
methods in the {{UpdateRequestProcessor}} interface. It is *not* required to define all methods,
only those hat are required by the processing logic.
> The following variables are define as global variables for each script:
>  * {{req}} - The SolrQueryRequest
>  * {{rsp}}- The SolrQueryResponse
>  * {{logger}} - A logger that can be used for logging purposes in the script

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message