- for errors, use HTTP error codes instead of putting it in the XML as now.


yes!


- more REST like?


I would like the URL form to look like this:
 /solr/${verb}/?param=value&param=value...
or:
 /solr/${verb}/${handler}/?param=value&param=value...

Commands should work with or without the trailing '/'

/solr/query should continue to support qt=dismax, but I don't think we
should add params for 'at' (add type) 'ct' (commit type) etc...

Examples:

/solr/query/?q=...  (use standard)
/solr/query/dismax/?q=...
/solr/add/
POST: <docs>...</docs>
/solr/add/sql/?q=SELECT *
/solr/add/csv/?param=xxx...
 POST (fileupload): file.csv
/solr/commit/?waitSearcher=true
/solr/delete/?id=AAA&id=BBB&q=id:[* TO CCC]
/solr/optimize/?waitSearcher=true


RequestHandlers would be registered with a verb (command?) in solrconfig.xml
 <requestHandler command="query" name="dismax" ...>
 <requestHandler command="add" name="xml" class="..>
 <requestHandler command="add" name="sql" class="..>
<requestHandler command="commit" ..>

RequestHandlers would register verb/name not just name.  It would also
be nice to specify the default handler in solrconfig.xml (rather then
hardcoded to 'standard')
 <requestHandler command="query" name="dismax" isDefault="true">



DEL /solr/document?id=1003
  OR
POST /solr/document/delete?id=1003


I think the request method should be added to the base SolrRequest and
let the handler decide if it will do something different for GET vs.
POST vs. DEL

Conceptually /commit should be a POST, but it may be nice to use your
bowser (GET) to run commands like:
 /solr/commit?waitSearcher=true

If the method is passed to the RequestHandler, this will let anyone
who is unhappy with the standard behavior change it easily.  Someone
may want to require you send DEL to delete and POST to change anything
-- or the opposite if you care.


- administrative commands, setting certain limits

POST /solr/command/set&mergeFactor=100&maxBufferedDocs=1000
POST /solr/command/set&logLevel=3


In my proposal, this could be something like:
/solr/setconfig?logLevel=3

If someone wrote a handler that set the variables, then saved them in
solrconfig.xml, it could be:
/solr/setconfig/save/?mergeFactor=100

good good
ryan

Reply via email to