You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ep...@apache.org on 2021/06/04 11:10:29 UTC

[solr] branch main updated: SOLR-11646: v2 api documentation round three (#91)

This is an automated email from the ASF dual-hosted git repository.

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 163342c  SOLR-11646: v2 api documentation round three (#91)
163342c is described below

commit 163342c34af1dea33693042bdc64fbb808cfd717
Author: Eric Pugh <ep...@opensourceconnections.com>
AuthorDate: Fri Jun 4 07:10:22 2021 -0400

    SOLR-11646: v2 api documentation round three (#91)
    
    * add v1/v2 for STATUS command
    
    * doc v1/v2 for RELOAD.  Tweak how we list the name param as part of url or a parameter
    
    * follow other examples of using techproducts as the example setup
    
    * v1 and v2 apie examples.
    
    * Use the same text around starting the demo server setup everywhere.
    
    * remove commnted out code, we have a toc for the page
---
 .../src/cluster-node-management.adoc               |   8 +-
 solr/solr-ref-guide/src/collection-aliasing.adoc   |  10 +-
 solr/solr-ref-guide/src/collection-management.adoc |  29 +--
 solr/solr-ref-guide/src/collections-api.adoc       |   2 +-
 solr/solr-ref-guide/src/coreadmin-api.adoc         | 117 ++++++++++-
 solr/solr-ref-guide/src/docker-faq.adoc            |   2 +-
 solr/solr-ref-guide/src/luke-request-handler.adoc  |   4 +-
 solr/solr-ref-guide/src/mbean-request-handler.adoc |   4 +-
 solr/solr-ref-guide/src/replica-management.adoc    |  15 +-
 solr/solr-ref-guide/src/schema-api.adoc            | 232 +++++++++++++++------
 solr/solr-ref-guide/src/shard-management.adoc      |  13 +-
 11 files changed, 336 insertions(+), 100 deletions(-)

diff --git a/solr/solr-ref-guide/src/cluster-node-management.adoc b/solr/solr-ref-guide/src/cluster-node-management.adoc
index b96c5b0..eb0ad53 100644
--- a/solr/solr-ref-guide/src/cluster-node-management.adoc
+++ b/solr/solr-ref-guide/src/cluster-node-management.adoc
@@ -185,7 +185,7 @@ http://localhost:8983/solr/admin/collections?action=CLUSTERPROP&name=urlScheme&v
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d '
   {
     "set-property": {
       "name": "urlScheme",
@@ -346,7 +346,7 @@ http://localhost:8983/solr/admin/collections?action=BALANCESHARDUNIQUE&collectio
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d '
   {
     "balance-shard-unique": {
       "property": "preferredLeader"
@@ -515,7 +515,7 @@ http://localhost:8983/solr/admin/collections?action=ADDROLE&role=overseer&node=l
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d '
   {
     "add-role": {
       "role": "overseer",
@@ -584,7 +584,7 @@ http://localhost:8983/solr/admin/collections?action=REMOVEROLE&role=overseer&nod
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/cluster -H 'Content-Type: application/json' -d '
   {
     "remove-role": {
       "role": "overseer",
diff --git a/solr/solr-ref-guide/src/collection-aliasing.adoc b/solr/solr-ref-guide/src/collection-aliasing.adoc
index c2a7fd2..c019fc7 100644
--- a/solr/solr-ref-guide/src/collection-aliasing.adoc
+++ b/solr/solr-ref-guide/src/collection-aliasing.adoc
@@ -245,7 +245,7 @@ http://localhost:8983/solr/admin/collections?action=CREATEALIAS&name=testalias&c
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "create-alias":{
       "name":"testalias",
@@ -321,7 +321,7 @@ http://localhost:8983/solr/admin/collections?action=CREATEALIAS
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "create-alias" : {
       "name": "somethingTemporalThisWayComes",
@@ -415,7 +415,7 @@ http://localhost:8983/solr/admin/collections?action=CREATEALIAS
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "create-alias":{
       "name":"dra_test1",
@@ -542,7 +542,7 @@ http://localhost:8983/admin/collections?action=ALIASPROP&name=techproducts_alias
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
 {
   "set-alias-property":{
     "name":"techproducts_alias",
@@ -601,7 +601,7 @@ http://localhost:8983/solr/admin/collections?action=DELETEALIAS&name=testalias
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
 {
   "delete-alias":{
     "name":"testalias"
diff --git a/solr/solr-ref-guide/src/collection-management.adoc b/solr/solr-ref-guide/src/collection-management.adoc
index c071d66..6f89228 100644
--- a/solr/solr-ref-guide/src/collection-management.adoc
+++ b/solr/solr-ref-guide/src/collection-management.adoc
@@ -19,7 +19,12 @@
 
 A collection is a single logical index that uses a single Solr configuration file (`solrconfig.xml`) and a single index schema.
 
-The examples assume you have started Solr via `bin/solr start -c -e techproducts`.
+All of the examples in this section assume you are running the "techproducts" Solr example:
+
+[source,bash]
+----
+bin/solr -c -e techproducts
+----
 
 [[create]]
 == CREATE: Create a Collection
@@ -47,7 +52,7 @@ With the v2 API, the `create` command is provided as part of the JSON data that
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "create": {
       "name": "techproducts_v2",
@@ -181,7 +186,7 @@ With the v2 API, the `reload` command is provided as part of the JSON data that
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d '
   {
     "reload": {}
   }
@@ -192,7 +197,7 @@ Additional parameters can be passed in via the the `reload` key:
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d '
   {
     "reload": {
       "async": "reload1"
@@ -247,7 +252,7 @@ With the v2 API, the `modify` command is provided as part of the JSON data that
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d '
   {
     "modify": {
       "replicationFactor": 2
@@ -522,7 +527,7 @@ http://localhost:8983/solr/admin/collections?action=COLLECTIONPROP&name=techprod
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d '
   {
     "set-collection-property": {
       "name": "foo",
@@ -575,7 +580,7 @@ http://localhost:8983/solr/admin/collections?action=MIGRATE&collection=techprodu
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts_v2 -H 'Content-Type: application/json' -d '
   {
     "migrate-docs": {
       "target": "postMigrationCollection",
@@ -1230,7 +1235,7 @@ With the v2 API, the `backup-collection` command is provided as part of the JSON
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "backup-collection": {
       "name": "techproducts_backup",
@@ -1347,7 +1352,7 @@ http://localhost:8983/solr/admin/collections?action=LISTBACKUP&name=myBackupName
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/v2/collections/backups -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/v2/collections/backups -H 'Content-Type: application/json' -d '
   {
     "list-backups" : {
       "name": "myBackupName",
@@ -1418,7 +1423,7 @@ With the v2 API, the `restore-collection` command is provided as part of the JSO
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections -H 'Content-Type: application/json' -d '
   {
     "restore-collection": {
       "name": "techproducts_backup",
@@ -1517,7 +1522,7 @@ http://localhost:8983/solr/admin/collections?action=DELETEBACKUP&name=myBackupNa
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/v2/collections/backups -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/v2/collections/backups -H 'Content-Type: application/json' -d '
   {
     "delete-backups" : {
       "name": "myBackupName",
@@ -1603,7 +1608,7 @@ With the v2 API, the `rebalance-leaders` command is provided as part of the JSON
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d '
   {
     "rebalance-leaders": {
       "maxAtOnce": 3
diff --git a/solr/solr-ref-guide/src/collections-api.adoc b/solr/solr-ref-guide/src/collections-api.adoc
index 4f276dd..ab5e949 100644
--- a/solr/solr-ref-guide/src/collections-api.adoc
+++ b/solr/solr-ref-guide/src/collections-api.adoc
@@ -61,7 +61,7 @@ http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=collec
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/collection1/shards -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/collection1/shards -H 'Content-Type: application/json' -d '
   {
     "split": {
       "shard": "shard1",
diff --git a/solr/solr-ref-guide/src/coreadmin-api.adoc b/solr/solr-ref-guide/src/coreadmin-api.adoc
index 948d7fd..fe3ecef 100644
--- a/solr/solr-ref-guide/src/coreadmin-api.adoc
+++ b/solr/solr-ref-guide/src/coreadmin-api.adoc
@@ -27,17 +27,63 @@ CoreAdmin actions can be executed by via HTTP requests that specify an `action`
 
 All action names are uppercase, and are defined in depth in the sections below.
 
+All of the examples in this section assume you are running the "techproducts" Solr example:
+
+[source,bash]
+----
+bin/solr start -DconfigSetBaseDir=./server/solr/configsets -e techproducts
+----
+
+We are passing in the explicit relative path for the `configSetBaseDir` to enable creating new cores using the `sample_techproducts_configs` configset in the examples below.
+
 [[coreadmin-status]]
 == STATUS
 
 The `STATUS` action returns the status of all running Solr cores, or status for only the named core.
 
-`admin/cores?action=STATUS&core=_core-name_`
+[.dynamic-tabs]
+--
+[example.tab-pane#v1coreadmin-status]
+====
+[.tab-label]*V1 API*
+
+[source,bash]
+----
+http://localhost:8983/solr/admin/cores?action=STATUS&core=techproducts
+
+----
+====
+
+[example.tab-pane#v2coreadmin-status]
+====
+[.tab-label]*V2 API*
+
+[source,bash]
+----
+curl -X GET http://localhost:8983/api/cores/
+----
+
+To get the status for a single core:
+
+[source,bash]
+----
+curl -X GET http://localhost:8983/api/cores/techproducts
+----
+
+To skip returning information about the index:
+
+[source,bash]
+----
+curl -X GET http://localhost:8983/api/cores?indexInfo=false
+----
+
+====
+--
 
 === STATUS Parameters
 
 `core`::
-The name of a core, as listed in the "name" attribute of a `<core>` element in `solr.xml`.
+The name of a core, as listed in the "name" attribute of a `<core>` element in `solr.xml`. This parameter is required in v1, and part of the url in the v2 API.
 
 `indexInfo`::
 If `false`, information about the index will not be returned with a core STATUS request. In Solr implementations with a large number of cores (i.e., more than hundreds), retrieving the index information for each core can take a lot of time and isn't always required. The default is `true`.
@@ -50,6 +96,43 @@ The `CREATE` action creates a new core and registers it.
 If a Solr core with the given name already exists, it will continue to handle requests while the new core is initializing. When the new core is ready, it will take new requests and the old core will be unloaded.
 
 `admin/cores?action=CREATE&name=_core-name_&instanceDir=_path/to/dir_&config=solrconfig.xml&dataDir=data`
+[.dynamic-tabs]
+--
+[example.tab-pane#v1coreadmin-create]
+====
+[.tab-label]*V1 API*
+
+Assuming you are using an existing configSet to create your new core:
+[source,bash]
+----
+http://localhost:8983/solr/admin/cores?action=CREATE&&name=techproducts_v2&configSet=sample_techproducts_configs
+
+----
+
+If you have already existing core files deployed on disk, and need to just create the Solr core from them then the url will look something like
+[source,bash]
+----
+http://localhost:8983/solr/admin/cores?action=CREATE&name=_core-name_&instanceDir=_path/to/dir_&config=solrconfig.xml&dataDir=data
+----
+====
+
+[example.tab-pane#v2coreadmin-create]
+====
+[.tab-label]*V2 API*
+
+[source,bash]
+----
+curl -X POST http://localhost:8983/api/cores -H 'Content-Type: application/json' -d '
+  {
+    "create": {
+      "name": "techproducts_v2",
+      "configSet": "sample_techproducts_configs"
+    }
+  }
+'
+----
+====
+--
 
 Note that this command is the only one of the Core Admin API commands that *does not* support the `core` parameter. Instead, the `name` parameter is required, as shown below.
 
@@ -118,7 +201,33 @@ http://localhost:8983/solr/admin/cores?action=CREATE&name=my_core&collection=my_
 
 The RELOAD action loads a new core from the configuration of an existing, registered Solr core. While the new core is initializing, the existing one will continue to handle requests. When the new Solr core is ready, it takes over and the old core is unloaded.
 
-`admin/cores?action=RELOAD&core=_core-name_`
+[.dynamic-tabs]
+--
+[example.tab-pane#v1coreadmin-reload]
+====
+[.tab-label]*V1 API*
+
+[source,bash]
+----
+http://localhost:8983/solr/admin/cores?action=RELOAD&core=techproducts
+
+----
+====
+
+[example.tab-pane#v2coreadmin-reload]
+====
+[.tab-label]*V2 API*
+
+[source,bash]
+----
+curl -X POST http://localhost:8983/api/cores/techproducts -H 'Content-Type: application/json' -d '
+  {
+    "reload": {}
+  }
+'
+----
+====
+--
 
 This is useful when you've made changes to a Solr core's configuration on disk, such as adding new field definitions. Calling the RELOAD action lets you apply the new configuration without having to restart Solr.
 
@@ -130,7 +239,7 @@ RELOAD performs "live" reloads of SolrCore, reusing some existing objects. Some
 === RELOAD Core Parameters
 
 `core`::
-The name of the core, as listed in the "name" attribute of a `<core>` element in `solr.xml`. This parameter is required.
+The name of the core, as listed in the "name" attribute of a `<core>` element in `solr.xml`. This parameter is required in v1, and part of the url in the v2 API.
 
 [[coreadmin-rename]]
 == RENAME
diff --git a/solr/solr-ref-guide/src/docker-faq.adoc b/solr/solr-ref-guide/src/docker-faq.adoc
index ea8f207..5c4be6f 100644
--- a/solr/solr-ref-guide/src/docker-faq.adoc
+++ b/solr/solr-ref-guide/src/docker-faq.adoc
@@ -112,7 +112,7 @@ SOLR_CONTAINER=$(docker run -d -P --volumes-from=mysolr1data solr)
 docker exec -it --user=solr $SOLR_CONTAINER solr create_core -c gettingstarted
 
 # make a change to the config, using the config API
-docker exec -it --user=solr $SOLR_CONTAINER curl http://localhost:8983/solr/gettingstarted/config -H 'Content-type:application/json' -d'{
+docker exec -it --user=solr $SOLR_CONTAINER curl http://localhost:8983/solr/gettingstarted/config -H 'Content-type:application/json' -d '{
     "set-property" : {"query.filterCache.autowarmCount":1000},
     "unset-property" :"query.filterCache.size"}'
 
diff --git a/solr/solr-ref-guide/src/luke-request-handler.adoc b/solr/solr-ref-guide/src/luke-request-handler.adoc
index e206c21..bf799eb 100644
--- a/solr/solr-ref-guide/src/luke-request-handler.adoc
+++ b/solr/solr-ref-guide/src/luke-request-handler.adoc
@@ -42,11 +42,11 @@ Choose whether /luke should return the index-flags for each field. Fetching and
 
 == LukeRequestHandler Examples
 
-The following examples assume you are running Solr's `techproducts` example configuration:
+All of the examples in this section assume you are running the "techproducts" Solr example:
 
 [source,bash]
 ----
-bin/solr start -e techproducts
+bin/solr -e techproducts
 ----
 
 To return summary information about the index:
diff --git a/solr/solr-ref-guide/src/mbean-request-handler.adoc b/solr/solr-ref-guide/src/mbean-request-handler.adoc
index 2deeba2..019f758 100644
--- a/solr/solr-ref-guide/src/mbean-request-handler.adoc
+++ b/solr/solr-ref-guide/src/mbean-request-handler.adoc
@@ -35,11 +35,11 @@ The output format. This operates the same as the <<response-writers.adoc#,`wt` p
 == MBeanRequestHandler Examples
 
 // TODO 7.1 - replace with link to tutorial
-The following examples assume you are running Solr's `techproducts` example configuration:
+All of the examples in this section assume you are running the "techproducts" Solr example:
 
 [source,bash]
 ----
-bin/solr start -e techproducts
+bin/solr -e techproducts
 ----
 
 To return information about the CACHE category only:
diff --git a/solr/solr-ref-guide/src/replica-management.adoc b/solr/solr-ref-guide/src/replica-management.adoc
index 1fcbf68..2fb241a 100644
--- a/solr/solr-ref-guide/src/replica-management.adoc
+++ b/solr/solr-ref-guide/src/replica-management.adoc
@@ -20,7 +20,12 @@
 A replica is a physical copy of a shard.  Replicas enhance fail over by providing additional copies of the data
 and enhance scalability by providing additional capacity for searching.
 
-The examples assume you have started Solr via `bin/solr start -c -e techproducts`.
+All of the examples in this section assume you are running the "techproducts" Solr example:
+
+[source,bash]
+----
+bin/solr -c -e techproducts
+----
 
 [[addreplica]]
 == ADDREPLICA: Add Replica
@@ -65,7 +70,7 @@ http://localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=techpr
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d '
   {
     "add-replica":{
       "shard":"shard1",
@@ -237,7 +242,7 @@ http://localhost:8983/solr/admin/collections?action=MOVEREPLICA&collection=test&
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d '
   {
     "move-replica":{
       "replica":"core_node6",
@@ -388,7 +393,7 @@ http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&collection=te
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d '
   {
     "add-replica-property":{
       "shard":"shard1",
@@ -490,7 +495,7 @@ http://localhost:8983/solr/admin/collections?action=DELETEREPLICAPROP&collection
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts -H 'Content-Type: application/json' -d '
   {
     "delete-replica-property":{
       "shard":"shard1",
diff --git a/solr/solr-ref-guide/src/schema-api.adoc b/solr/solr-ref-guide/src/schema-api.adoc
index 450c9c3..21946b7 100644
--- a/solr/solr-ref-guide/src/schema-api.adoc
+++ b/solr/solr-ref-guide/src/schema-api.adoc
@@ -44,35 +44,16 @@ Modifying your schema will never modify any documents that are already indexed.
 See the section <<reindexing.adoc#,Reindexing>> for more information about reindexing.
 ====
 
-////
-// Commented out section because this makes less sense with 2 API endpoints available.
-The base address for the API is `\http://<host>:<port>/solr/<collection_name>`. If, for example, you run Solr's "```cloud```" example (via the `bin/solr` command shown below), which creates a "```gettingstarted```" collection, then the base URL for that collection (as in all the sample URLs in this section) would be: `\http://localhost:8983/solr/gettingstarted`.
+All of the examples in this section assume you are running the "techproducts" Solr example:
 
 [source,bash]
 ----
-bin/solr -e cloud -noprompt
+bin/solr -e techproducts
 ----
-////
-
-////
-// TODO this needs to probably go away with v2 APIs?
-
-== Schema API Entry Points
-
-* `/schema`: <<Retrieve the Entire Schema,retrieve>> the schema, or <<Modify the Schema,modify>> the schema to add, remove, or replace fields, dynamic fields, copy fields, or field types
-* `/schema/fields`: <<List Fields,retrieve information>> about all defined fields or a specific named field
-* `/schema/dynamicfields`: <<List Dynamic Fields,retrieve information>> about all dynamic field rules or a specific named dynamic rule
-* `/schema/fieldtypes`: <<List Field Types,retrieve information>> about all field types or a specific field type
-* `/schema/copyfields`: <<List Copy Fields,retrieve information>> about copy fields
-* `/schema/name`: <<Show Schema Name,retrieve>> the schema name
-* `/schema/version`: <<Show the Schema Version,retrieve>> the schema version
-* `/schema/uniquekey`: <<List UniqueKey,retrieve>> the defined uniqueKey
-* `/schema/similarity`: <<Show Global Similarity,retrieve>> the global similarity definition
-////
 
 == Modify the Schema
 
-To add, remove or replace fields, dynamic field rules, copy field rules, or new field types, you can send a POST request to the `/api/<collections|cores>/<name>/schema/` endpoint with a sequence of commands in JSON format to perform the requested actions. The following commands are supported:
+To add, remove or replace fields, dynamic field rules, copy field rules, or new field types, you can send a POST request to the `/schema/` endpoint with a sequence of commands in JSON format to perform the requested actions. The following commands are supported:
 
 * `add-field`: add a new field with parameters you provide.
 * `delete-field`: delete a field.
@@ -112,7 +93,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"sell_by",
      "type":"pdate",
      "stored":true }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -126,7 +107,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"sell_by",
      "type":"pdate",
      "stored":true }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -146,7 +127,7 @@ For example, to delete a field named "sell_by", you would POST the following req
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-field" : { "name":"sell_by" }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -157,7 +138,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-field" : { "name":"sell_by" }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -182,7 +163,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"sell_by",
      "type":"date",
      "stored":false }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -196,7 +177,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"sell_by",
      "type":"date",
      "stored":false }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -221,7 +202,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"*_s",
      "type":"string",
      "stored":true }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -235,7 +216,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"*_s",
      "type":"string",
      "stored":true }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -255,7 +236,7 @@ For example, to delete a dynamic field rule matching "*_s", you can POST a reque
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-dynamic-field":{ "name":"*_s" }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -266,7 +247,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-dynamic-field":{ "name":"*_s" }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -291,7 +272,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"*_s",
      "type":"text_general",
      "stored":false }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -305,7 +286,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "name":"*_s",
      "type":"text_general",
      "stored":false }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 --
@@ -340,7 +321,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
         "filters":[{
            "name":"wordDelimiter",
            "preserveOriginal":"0" }]}}
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 
 Note in this example that we have only defined a single analyzer section that will apply to index analysis and query analysis.
@@ -365,7 +346,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "queryAnalyzer":{
         "tokenizer":{
            "name":"keyword" }}}
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -387,7 +368,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "queryAnalyzer":{
         "tokenizer":{
            "name":"keyword" }}}
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -407,7 +388,7 @@ For example, to delete the field type named "myNewTxtField", you can make a POST
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-field-type":{ "name":"myNewTxtField" }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -418,7 +399,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-field-type":{ "name":"myNewTxtField" }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -446,7 +427,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "analyzer":{
         "tokenizer":{
            "name":"standard" }}}
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -463,7 +444,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      "analyzer":{
         "tokenizer":{
            "name":"standard" }}}
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -496,7 +477,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
   "add-copy-field":{
      "source":"shelf",
      "dest":[ "location", "catchall" ]}
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -509,7 +490,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
   "add-copy-field":{
      "source":"shelf",
      "dest":[ "location", "catchall" ]}
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -531,7 +512,7 @@ For example, to delete a rule to copy the field "shelf" to the "location" field,
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-copy-field":{ "source":"shelf", "dest":"location" }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 ====
 
@@ -542,7 +523,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 ----
 curl -X POST -H 'Content-type:application/json' --data-binary '{
   "delete-copy-field":{ "source":"shelf", "dest":"location" }
-}' http://localhost:8983/api/collections/gettingstarted/schema
+}' http://localhost:8983/api/collections/techproducts/schema
 ----
 ====
 --
@@ -576,7 +557,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
       "name":"sell_by",
       "type":"myNewTxtField",
       "stored":true }
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 
 Or, the same command can be repeated, as in this example:
@@ -595,7 +576,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
   "add-copy-field":{
      "source":"shelf",
       "dest":[ "location", "catchall" ]}
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 
 Finally, repeated commands can be sent as an array:
@@ -610,7 +591,7 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
      { "name":"location",
        "type":"myNewTxtField",
        "stored":true }]
-}' http://localhost:8983/solr/gettingstarted/schema
+}' http://localhost:8983/solr/techproducts/schema
 ----
 
 === Schema Changes among Replicas
@@ -659,7 +640,7 @@ Get the entire schema in JSON.
 
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema
+curl http://localhost:8983/solr/techproducts/schema
 ----
 
 [source,json]
@@ -723,7 +704,7 @@ Get the entire schema in XML.
 
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema?wt=xml
+curl http://localhost:8983/solr/techproducts/schema?wt=xml
 ----
 
 [source,xml]
@@ -777,7 +758,7 @@ Get the entire schema in "schema.xml" format.
 
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema?wt=schema.xml
+curl http://localhost:8983/solr/techproducts/schema?wt=schema.xml
 ----
 
 [source,xml]
@@ -802,6 +783,8 @@ curl http://localhost:8983/solr/gettingstarted/schema?wt=schema.xml
 
 === List Fields
 
+Get a list of all fields.
+
 `GET /_collection_/schema/fields`
 
 `GET /_collection_/schema/fields/_fieldname_`
@@ -844,12 +827,27 @@ If `multiValued` is defined as either true or false (most likely true), that wil
 
 ==== List Fields Examples
 
-Get a list of all fields.
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-fields]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+http://localhost:8983/techproducts/schema/fields
+----
+====
 
+[example.tab-pane#v2list-fields]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/fields
+
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/fields"
 ----
+====
+--
 
 The sample output below has been truncated to only show a few fields.
 
@@ -919,10 +917,27 @@ The output will include each dynamic field rule and the defined configuration fo
 
 Get a list of all dynamic field declarations:
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-dynamicfields]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+http://localhost:8983/techproducts/schema/dynamicfields
+----
+====
+
+[example.tab-pane#v2list-dynamicfields]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/dynamicfields
+
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/dynamicfields"
 ----
+====
+--
 
 The sample output below has been truncated.
 
@@ -1002,10 +1017,26 @@ The output will include each field type and any defined configuration for the ty
 
 Get a list of all field types.
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-fieldtypes]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/fieldtypes
+----
+====
+
+[example.tab-pane#v2list-fieldtypes]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/fieldtypes
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/fieldtypes"
 ----
+====
+--
 
 The sample output below has been truncated to show a few different field types from different parts of the list.
 
@@ -1089,10 +1120,26 @@ The output will include the `source` and `dest` (destination) of each copy field
 
 Get a list of all copyFields.
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-copyfields]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/copyfields
+----
+====
+
+[example.tab-pane#v2list-copyfields]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/copyfields
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/copyfields"
 ----
+====
+--
 
 The sample output below has been truncated to the first few copy definitions.
 
@@ -1150,10 +1197,27 @@ The output will be simply the name given to the schema.
 
 Get the schema name.
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-schemaname]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/name
+----
+====
+
+[example.tab-pane#v2list-schemaname]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/name
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/name"
 ----
+====
+--
+
 
 [source,json]
 ----
@@ -1190,10 +1254,26 @@ The output will simply be the schema version in use.
 
 Get the schema version:
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-schemaversion]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/version
+----
+====
+
+[example.tab-pane#v2list-schemaversion]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/version
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/version"
 ----
+====
+--
 
 [source,json]
 ----
@@ -1231,10 +1311,26 @@ The output will include simply the field name that is defined as the uniqueKey f
 
 List the uniqueKey.
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-schemauniquekey]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/uniquekey
+----
+====
+
+[example.tab-pane#v2list-schemauniquekey]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/uniquekey
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/uniquekey"
 ----
+====
+--
 
 [source,json]
 ----
@@ -1271,10 +1367,26 @@ The output will include the class name of the global similarity defined (if any)
 
 Get the similarity implementation.
 
+[.dynamic-tabs]
+--
+[example.tab-pane#v1list-schemasimilarity]
+====
+[tab-label]*V1 API*
+[source,bash]
+----
+curl http://localhost:8983/solr/techproducts/schema/similarity
+----
+====
+
+[example.tab-pane#v2list-schemasimilarity]
+====
+[tab-label]*V2 API*
 [source,bash]
 ----
-curl http://localhost:8983/solr/gettingstarted/schema/similarity
+curl -X GET "http://localhost:8983/api/collections/techproducts/schema/similarity"
 ----
+====
+--
 
 [source,json]
 ----
diff --git a/solr/solr-ref-guide/src/shard-management.adoc b/solr/solr-ref-guide/src/shard-management.adoc
index 5dff3f0..2d5da7c 100644
--- a/solr/solr-ref-guide/src/shard-management.adoc
+++ b/solr/solr-ref-guide/src/shard-management.adoc
@@ -21,7 +21,12 @@ In SolrCloud, a shard is a logical partition of a collection. This partition sto
 
 The number of shards you have helps to determine how many documents a single collection can contain in total, and also impacts search performance.
 
-The examples assume you have started Solr via `bin/solr start -c -e techproducts`.
+All of the examples in this section assume you are running the "techproducts" Solr example:
+
+[source,bash]
+----
+bin/solr -c -e techproducts
+----
 
 [[splitshard]]
 == SPLITSHARD: Split a Shard
@@ -60,7 +65,7 @@ http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=techpr
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d '
   {
     "split":{
       "shard":"shard1"
@@ -222,7 +227,7 @@ http://localhost:8983/solr/admin/collections?action=CREATESHARD&shard=newShardNa
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts/shards -H 'Content-Type: application/json' -d '
   {
     "create":{
       "shard":"newShardName"
@@ -381,7 +386,7 @@ http://localhost:8983/solr/admin/collections?action=FORCELEADER&collection=techp
 
 [source,bash]
 ----
-curl -X POST http://localhost:8983/api/collections/techproducts/shards/shard1 -H 'Content-Type: application/json' -d'
+curl -X POST http://localhost:8983/api/collections/techproducts/shards/shard1 -H 'Content-Type: application/json' -d '
   {
     "force-leader":{}
   }