[ 
https://issues.apache.org/jira/browse/SOLR-8029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14987566#comment-14987566
 ] 

Noble Paul commented on SOLR-8029:
----------------------------------

bq.A more REST-standard approach would be preface path parameters with a static 
path value (/v2/collections/[collection]).

The argument against this suggestion was that the most common operation on solr 
are read and update . These are collection specific. The cluster and node 
specific operations are rare . So the idea was to make the commonly used 
operations shorter

eg

{{/v2/mycollection/update}}
{{/v2/mycollection/select}}

instead of 

{{/v2/collections/mycollection/update}}
{{/v2/collections/mycollection/select}}

If we are willing to accept that {{_node}} and {{_cluster}} are special 
keywords , then we make the common operations simple which is performed 100's 
of times every second.  

bq.at the top-level makes it difficult to add new resources or other paths

All new resources will be added under the {{/v2/_cluster}} and {{/v2/_node}} 
paths 




> Modernize and standardize Solr APIs
> -----------------------------------
>
>                 Key: SOLR-8029
>                 URL: https://issues.apache.org/jira/browse/SOLR-8029
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: Trunk
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>              Labels: API, EaseOfUse
>             Fix For: Trunk
>
>
> Solr APIs have organically evolved and they are sometimes inconsistent with 
> each other or not in sync with the widely followed conventions of HTTP 
> protocol. Trying to make incremental changes to make them modern is like 
> applying band-aid. So, we have done a complete rethink of what the APIs 
> should be. The most notable aspects of the API are as follows:
> The new set of APIs will be placed under a new path {{/solr2}}. The legacy 
> APIs will continue to work under the {{/solr}} path as they used to and they 
> will be eventually deprecated.
> There are 3 types of requests in the new API 
> * {{/solr2/<collection-name>/*}} : Operations on specific collections 
> * {{/solr2/_cluster/*}} : Cluster-wide operations which are not specific to 
> any collections. 
> * {{/solr2/_node/*}} : Operations on the node receiving the request. This is 
> the counter part of the core admin API
> This will be released as part of a major release. Check the link given below 
> for the full specification.  Your comments are welcome
> [Solr API version 2 Specification | http://bit.ly/1JYsBMQ]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to