[
https://issues.apache.org/jira/browse/SOLR-7054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14295688#comment-14295688
]
Noble Paul edited comment on SOLR-7054 at 1/28/15 7:44 PM:
-----------------------------------------------------------
Thanks Alexandre. I opened this ticket as a place to discus and finalize a
clean interface instead of our myriad different APIs. Please feel free to
suggest alternatives
bq.Commit. How do you express that?
same as the /update handler
POST /docs?commit=true
bq. Default, etc. parameters? UpdateRequestChains? Do they just apply
universally?
haven't yet though through it fully. I would like to use the useParams feature
my suggestion:
different http method gets a separate paramset ,
write-params="update_param_set" read-params="select_paramset"
{{write-params}} could be a short form for a union of {{post-params}},
{{put-params}}, {{delete-params}}
whereas {{read-params}} could be a short form for a union of {{get-params}} ,
{{head-params}}
Going forward we should open up full REST support to all paths . So we should
adopt a common mechanism for separate param sets all HTTP methods
example:
{code:xml}
<requestHandler name="/docs" class="solr.RESTHandler"
write-params="update_paramset" read-params="select_paramset" />
<requestHandler name="/update" class="solr.UpdaterequestHandler"
useParams="update_paramset" />
<requestHandler name="/select" class="solr.SearchHandler"
useParams="update_paramset" />
{code}
bq.What happens with custom end-points? Or is /docs just a new end-point and
the rest maintain the old syntax?
yes, you are right, /docs just a new end-point and mainly a replacement for
{{/update/*}} , {{/select}} and {{/get}}
was (Author: noble.paul):
Thanks Alexander. I opened this ticket as a place to discus and finalize a
clean interface instead of our myriad different APIs. Please feel free to
suggest alternatives
bq.Commit. How do you express that?
same as the /update handler
POST /docs?commit=true
bq. Default, etc. parameters? UpdateRequestChains? Do they just apply
universally?
haven't yet though through it fully. I would like to use the useParams feature
my suggestion:
different http method gets a separate paramset ,
write-params="update_param_set" read-params="select_paramset"
{{write-params}} could be a short form for a union of {{post-params}},
{{put-params}}, {{delete-params}}
whereas {{read-params}} could be a short form for a union of {{get-params}} ,
{{head-params}}
Going forward we should open up full REST support to all paths . So we should
adopt a common mechanism for separate param sets all HTTP methods
example:
{code:xml}
<requestHandler name="/docs" class="solr.RESTHandler"
write-params="update_paramset" read-params="select_paramset" />
<requestHandler name="/update" class="solr.UpdaterequestHandler"
useParams="update_paramset" />
<requestHandler name="/select" class="solr.SearchHandler"
useParams="update_paramset" />
{code}
bq.What happens with custom end-points? Or is /docs just a new end-point and
the rest maintain the old syntax?
yes, you are right, /docs just a new end-point and mainly a replacement for
{{/update/*}} , {{/select}} and {{/get}}
> a pure REST interface for all operations in Solr
> ------------------------------------------------
>
> Key: SOLR-7054
> URL: https://issues.apache.org/jira/browse/SOLR-7054
> Project: Solr
> Issue Type: Improvement
> Reporter: Noble Paul
>
> 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
> 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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]