[
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: [email protected]
For additional commands, e-mail: [email protected]