Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
It would be a single handler say /docs
GET would do a query
GET /docs is equivalent to /select/q=:
GET /docs?q=a:b will be equivalent to /select?q=a:b
GET /docs/docId will be equivalent to /select?q=id:docId
PUT/POST /docs is equivalent to /update and the default format for json would be that of /update/json/docs
DELETE /docs/id will do a delete by id
DELETE /docs?q=x:val is delete by query
We can think of implementing this as a new RequestHandler without changing anything in Solr. Itcan be configured as follows
<requestHandler name="/docs" class="RestRequestHandler"> <str name="GET">/select</str> <!--This will just use the /select handler to handle http GET --> <str name="GET-single">/get</str> <!-- all GET requests to /docs/id will be handed by /get request handler . Please suggest a better name--> <str name="POST">/update/json/docs</str> <!-- All POST requests will use the handler configured at /update/json/docs --> <str name="PUT">/update/json/docs"</str> <!-- PUT requests will use same as POST --> <str name="DELETE">/update"</str> <!-- DELETE requests will use /update as well --> </requestHandler>