[
https://issues.apache.org/jira/browse/SOLR-7576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14565815#comment-14565815
]
David Smiley commented on SOLR-7576:
------------------------------------
I particularly like that in SOLR-5005 I didn't hard-code the choice of
JavaScript. You could perhaps borrow the script execution mechanism there. I
thought through the multi-threading model of Java's scripting API, or lack
thereof ;-P, when I wrote that.
Without having to review the patch, I think it's important to show here some
JavaScript samples that do little interesting things, thereby showing off
whatever utilities provided by this script offer. It'd be good to get some
peer review on that because it in effect creates an API that is somewhat
public, and therefore not trivial to change on a whim later.
Good point on security.
> Implement RequestHandler in Javascript
> --------------------------------------
>
> Key: SOLR-7576
> URL: https://issues.apache.org/jira/browse/SOLR-7576
> Project: Solr
> Issue Type: New Feature
> Reporter: Noble Paul
> Attachments: SOLR-7576.patch
>
>
> Solr now support dynamic loading (SOLR-7073) of components and it is secured
> in SOLR-7126
> We can extend the same functionality with JS as well
> example of creating a RequestHandler
> {code:javascript}
> curl http://localhost:8983/solr/collection1/config -H
> 'Content-type:application/json' -d '{
> "create-requesthandler" : {"name": "jshandler" ,
> "class":"solr.JSRequestHandler,
> "defaults": {
> "js": "myreqhandlerjs", //this is the name of the blob in .system collection
> "version":"3",
> "sig":"mW1Gwtz2QazjfVdrLFHfbGwcr8xzFYgUOLu68LHqWRDvLG0uLcy1McQ+AzVmeZFBf1yLPDEHBWJb5KXr8bdbHN/PYgUB1nsr9pk4EFyD9KfJ8TqeH/ijQ9waa/vjqyiKEI9U550EtSzruLVZ32wJ7smvV0fj2YYhrUaaPzOn9g0="
> }
> }
> }'
> {code}
> To make this work
> * Solr should be started with {{-Denable.runtime.lib=true}}
> * The javascript must be loaded to the {{.system}} collection using the blob
> store API
> * Configure the requesthandler with the JS blob name and version
> * Sign the javascript and configure the signature if security is enabled
> The {{JSRequestHandler}} is implicitly defined and it can be accessed by
> hitting {{/js/<jsname>/<version>}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]