[ 
https://issues.apache.org/jira/browse/SOLR-16395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Gerlowski updated SOLR-16395:
-----------------------------------
    Labels: newdev  (was: )

> Cosmetic improvements and migration to JAX-RS (schema APIs)
> -----------------------------------------------------------
>
>                 Key: SOLR-16395
>                 URL: https://issues.apache.org/jira/browse/SOLR-16395
>             Project: Solr
>          Issue Type: Sub-task
>          Components: v2 API
>    Affects Versions: main (10.0)
>            Reporter: Jason Gerlowski
>            Priority: Major
>              Labels: newdev
>          Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> As mentioned on SOLR-15781, the v2 API currently has an experimental 
> designation, and the community has expressed an interest in using this period 
> to update our v2 endpoints to be more REST-ful and consistent.  The current 
> plan is to follow the specific changes laid out in [this 
> spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
>  though of course nothing there is set in stone and there are still warts to 
> be worked out.
> While we're touching the code for these endpoints, we should also convert 
> them to JAX-RS framework definitions.  (This was initially tracked as a 
> separate effort - see SOLR-16370 - but the edit that were required ended up 
> overlapping so significantly with the "cosmetic" improvements here that in 
> practice it almost always makes sense to do the two together.)
> This ticket plans to tackle making the changes required for Solr's schema 
> read and collection-overlay APIs, as described in the spreadsheet above.  For 
> convenience and ease of tracking, these are also summarized in the table(s) 
> below:
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |Create Field|POST /api/collections/collName/schema \{"add-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Update Field|POST /api/collections/collName/schema \{"replace-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Delete Field|POST /api/collections/collName/schema \{"delete-field": 
> \{...\}\}|DELETE /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |Create Dynamic Field|POST /api/collections/collName/schema 
> \{"add-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Update Dynamic Field|POST /api/collections/collName/schema 
> \{"replace-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Delete Dynamic Field|POST /api/collections/collName/schema 
> \{"delete-dynamic-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |Create Field Type|POST /api/collections/collName/schema \{"add-field-type": 
> \{...\}\}|PUT /api/collections/collName/schema/fieldtypes/fieldTypeName 
> \{...\}|Open|N/A|
> |Update Field Type|POST /api/collections/collName/schema 
> \{"replace-field-type": \{...\}\}|PUT 
> /api/collections/collName/schema/fieldtypes/fieldTypeName \{...\}|Open|N/A|
> |Delete Field Type|POST /api/collections/collName/schema 
> \{"delete-field-type": \{...\}\}|DELETE 
> /api/collections/collName/schema/fieldTypes/fieldTypeName|Open|N/A|
> |Add Copy-field|POST /api/collections/collName/schema \{"add-copy-field": 
> \{...\}\}|PUT /api/collections/collName/schema/copyfields/copyFieldName 
> \{...\}|Open|N/A|
> |Delete Copy-field|POST /api/collections/collName/schema 
> \{"delete-copy-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/copyfields/copyFieldName|Open|N/A|
> |Bulk Schema Operations|POST /api/collections/collName/schema \{"add-field": 
> \{...\}, "add-field": \{...\}\}|POST /api/collections/collName/schema/bulk 
> [\{...\}, \{...\}]|Open|N/A|
> *JAX-RS Conversion Only*
> ||API Name||Endpoint Format||Status||Volunteer||
> |-Get Entire Schema-|-GET /api/collections/collName/schema-|-Finished-|-Bence 
> Szabo-|
> |-Get Schema UniqueKey-|-GET 
> /api/collections/collName/schema/uniquekey-|-Finished-|-Bence Szabo-|
> |-Get Schema Version-|-GET 
> /api/collections/collName/schema/version-|-Finished-|-Bence Szabo-|
> |-Get Schema Similarity-|-GET 
> /api/collections/collName/schema/similarity-|-Finished-|-Bence Szabo-|
> |Get Schema ZkVersion|-GET 
> /api/collections/collName/schema/zkversion|Open|N/A|
> |List All (Non-dynamic) Fields|GET 
> /api/collections/collName/schema/fields|Open|N/A|
> |Get Single (Non-dynamic) Field|GET 
> /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |List Copyfields|GET /api/collections/collName/schema/copyfields|Open|N/A|
> |List All (Dynamic) Fields|GET 
> /api/collections/collName/schema/dynamicfields|Open|N/A|
> |Get Single (Dynamic) Field|GET 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |List All FieldTypes|GET /api/collections/collName/schema/fieldtypes|Open|N/A|
> |Get Single Fieldtype|GET 
> /api/collections/collName/schema/fieldtypes/fieldTypeName|Open|N/A|
> Some helpful links related to these changes these changes. Should help get 
> any interested newcomers started! 
> * For detailed information on Solr's current and desired v2 APIs see the 
> spreadsheet 
> [here|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing]
> * [Discussion of how APIs work in Solr 
> (video)|https://www.youtube.com/watch?v=iIpvfXBjDog]
> * [Step-by-step guide to creating 
> APIs|https://issues.apache.org/jira/browse/SOLR-15737?focusedCommentId=17617923&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17617923]
>  using the JAX-RS v2 API framework
> * [Example PR for a similar change|https://github.com/apache/solr/pull/1679]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to