Erik Hatcher wrote:
On May 7, 2007, at 11:45 AM, Ryan McKinley (JIRA) wrote:
Ryan McKinley commented on SOLR-85:
-----------------------------------
This patch and SOLR-142 need to figure out how to deal with arbitrary
path mapping. Since the update command is not fixed to /update and we
also want to support /update/csv, we need some way to deal with that.
Remind me again why we need these paths to be so dynamic? :)
"dynamic" isn't quite the right word... how about user configurable.
I see two big advantages:
1) Path based authentication. I can let people have access to a some
handlers and not others - the query use case is obvious. For update
commands, consider the (real) case where I have an update handler that
checks what user is logged in and only lets them overwrite documents
they own. I can put the 'USER' constraint on /update and 'ADMIN' on
/update/csv
Yes, this could all be done with a front end servlet that delegates to a
single solr updater, but I like the solr request/response formatting ;)
2) There are a lot of custom update processes that don't belong in solr,
the user configurable plugin model is great for this.
3) (I don't know of anyone using this, so it is not a strong point)
Path based handlers let you do REST full urls. If you call:
http://localhost:8983/solr/myhandler:arg1/arg2/arg2/
the handler can get the path from:
getContext().get( "path" );
No real complaints, just the confusion its going to cause when
troubleshooting a Solr issue, and also in making solr-ruby bindings know
what URL to use for adding documents, etc.
I hope ?echoHandler=true will help... but share your concern
I like the flexibility in being able to map our own custom
configurations of "select" request handlers with various sets of default
parameters and so on, but is this flexibility really needed for the
basic update handlers too?
/update is always there - if "/update" is not mapped in solrconfig.xml,
the servlet will take care of it.
The issue with configuring the admin page is how to support some other
things. /update/csv, /update/sql, etc
Do we lock the path for the 'core' functions? (I'm ok with it), but it
seems usefull to let the admin page support custom forms for an xls
uploader.
Without configuring anything, I would expect everything to load in the
default places.
ryan