You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Jason Gerlowski (Jira)" <ji...@apache.org> on 2026/03/20 17:29:00 UTC

[jira] [Assigned] (SOLR-16395) Cosmetic improvements and migration to JAX-RS (schema APIs)

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

Jason Gerlowski reassigned SOLR-16395:
--------------------------------------

    Assignee: Jason Gerlowski

> 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: 10.0
>            Reporter: Jason Gerlowski
>            Assignee: Jason Gerlowski
>            Priority: Major
>              Labels: newdev, pull-request-available
>          Time Spent: 4h 50m
>  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-|-Finished-|-Bence Szabo-|
> |-List All (Non-dynamic) Fields-|-GET /api/collections/collName/schema/fields-|-Finished-|-Bence Szabo-|
> |-Get Single (Non-dynamic) Field-|-GET /api/collections/collName/schema/fields/fieldName-|-Finished-|-Bence Szabo-|
> |-List Copyfields-|-GET /api/collections/collName/schema/copyfields-|-Finished-|-Bence Szabo-|
> |-List All (Dynamic) Fields-|-GET /api/collections/collName/schema/dynamicfields-|-Finished-|-Bence Szabo-|
> |-Get Single (Dynamic) Field-|-GET /api/collections/collName/schema/dynamicfields/fieldName-|-Finished-|-Bence Szabo-|
> |-List All FieldTypes-|-GET /api/collections/collName/schema/fieldtypes-|-Finished-|-Bence Szabo-|
> |-Get Single Fieldtype-|-GET /api/collections/collName/schema/fieldtypes/fieldTypeName-|-Finished-|-Bence Szabo-|
> 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-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org