You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ct...@apache.org on 2016/12/13 15:38:28 UTC

[1/4] lucene-solr:apiv2: Add descriptions for Collection APIs

Repository: lucene-solr
Updated Branches:
  refs/heads/apiv2 a2486fd2d -> 1bbbe678f


Add descriptions for Collection APIs


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4eb1f3d7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4eb1f3d7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4eb1f3d7

Branch: refs/heads/apiv2
Commit: 4eb1f3d7166e0b75fced42e6e0b2a43fd62111c7
Parents: a2486fd
Author: Cassandra Targett <ct...@apache.org>
Authored: Fri Dec 9 16:07:45 2016 -0600
Committer: Cassandra Targett <ct...@apache.org>
Committed: Fri Dec 9 16:07:45 2016 -0600

----------------------------------------------------------------------
 .../resources/apispec/collections.Commands.json | 76 +++++++++++---------
 .../collections.collection.Commands.json        | 55 ++++++++------
 .../collections.collection.Commands.modify.json | 20 +++---
 .../collections.collection.Commands.reload.json |  5 +-
 .../apispec/collections.collection.delete.json  |  3 +-
 .../apispec/collections.collection.json         |  1 +
 6 files changed, 91 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.Commands.json b/solr/core/src/resources/apispec/collections.Commands.json
index 336d4b4..d4e8cd2 100644
--- a/solr/core/src/resources/apispec/collections.Commands.json
+++ b/solr/core/src/resources/apispec/collections.Commands.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1",
+  "description": "Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",
   "methods": [
     "POST"
   ],
@@ -13,7 +14,7 @@
     "create": {
       "type": "object",
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1",
-      "description": "",
+      "description": "Create a collection.",
       "properties": {
         "name": {
           "type": "string",
@@ -21,75 +22,82 @@
         },
         "config": {
           "type": "string",
-          "description": "Defines the name of the configurations (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration name."
+          "description": "The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."
         },
         "router": {
           "type": "object",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Shards+and+Indexing+Data+in+SolrCloud",
+          "description": "These properties define how to distribute documents across a collection's shards.",
           "properties": {
             "name": {
               "type": "string",
               "enum":["implicit","compositeId"],
-              "description": "Router implementation compositeId or implicit",
+              "description": "The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",
               "default": "compositeId"
             },
             "field": {
               "type": "string",
-              "description": "Field on which doc routing is done"
+              "description": "A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."
             }
           }
         },
         "numShards": {
           "type": "number",
-          "description": "The number of shards to be created as part of the collection. This is a required parameter when using the 'compositeId' router."
+          "description": "The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."
         },
         "shards": {
           "type": "string",
-          "description": "A comma separated list of shard names, e.g., shard-x,shard-y,shard-z . This is a required parameter when using the 'implicit' router."
+          "description": "A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."
         },
         "replicationFactor": {
           "type": "number",
-          "description": "The number of replicas to be created for each shard."
+          "description": "The number of replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."
         },
         "nodeSet": {
           "type": "array",
           "items": {
             "type": "string"
           },
-          "description": "list of node_names"
+          "description": "Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."
         },
         "shuffleNodes": {
           "type": "boolean",
-          "description": "Controls wether or not the shard-replicas created for this collection will be assigned to the nodes specified by the createNodeSet in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas.  A 'false' value makes the results of a collection creation predictible and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. Ignored if createNodeSet is not also specified."
+          "description": "Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."
         },
         "maxShardsPerNode": {
           "type": "integer",
-          "description": "When creating collections, the shards and/or replicas are spread across all available (i.e., live) nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the CREATE operation is called, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas CREATE will spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."
+          "description": "When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."
         },
         "autoAddReplicas": {
           "type": "boolean",
-          "description": "When set to true, enables auto addition of replicas on shared file systems. See the section autoAddReplicas Settings for more details on settings and overrides."
+          "description": "When set to true, enables auto addition of replicas on shared file systems (such as HDFS). See https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+HDFS for more details on settings and overrides.",
+          "default": "false"
         },
         "rule": {
           "type": "array",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement",
+          "description": "Defines rules for where replicas should be located in a cluster.",
           "items": {
             "type": "string"
           },
-          "description": "replica placement rules. See the section Rule-based Replica Placement for details."
         },
         "snitch": {
           "type": "array",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement",
+          "description": "",
           "items": {
             "type": "string"
           },
-          "description": ""
         },
         "properties": {
           "type": "object",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Defining+core.properties",
+          "description": "Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
           "additionalProperties": true
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."
         }
       },
       "required": [
@@ -97,67 +105,67 @@
       ]
     },
     "create-alias": {
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api4",
+      "description": "Allows one or more collections to be known by another name. If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",
       "type": "object",
       "properties": {
         "name": {
           "type": "string",
-          "description": "The alias name to be created"
+          "description": "The alias name to be created."
         },
         "collections": {
           "type": "array",
+          "description": "The list of collections to be known as this alias.",
           "items": {
             "type": "string"
-          },
-          "description": "The list of collections to be aliased"
+          }
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."
         }
       },
       "required": [
         "name",
         "collections"
-      ],
-      "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api4",
-      "description": " create or modify an alias for a collection"
+      ]
     },
     "delete-alias": {
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api5",
-      "description": "Delete a Collection Alias",
+      "description": "Deletes a collection alias",
       "type": "object",
       "properties": {
         "name": {
           "type": "string",
-          "description": "The name of the alias to delete"
+          "description": "The name of the alias to delete."
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."
         }
       },
       "required":["name"]
     },
     "backup-collection": {
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-Backup",
-      "description": "Backup Solr indexes and configurations for a specifc collection",
+      "description": "Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
       "type": "object",
       "properties": {
         "collection": {
           "type": "string",
-          "description": "Name of the collection"
+          "description": "The name of the collection to back up."
         },
         "name": {
           "type": "string",
-          "description": "Name of the backup"
+          "description": "The name of the backup."
         },
         "location": {
           "type": "string",
-          "description": "The location on the shared drive for the backup command to write to. Alternately it can be set as a cluster property"
+          "description": "A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."
         }
       },
       "required": [
@@ -167,25 +175,25 @@
       ]
     },
     "restore-collection": {
-      "description": "Restore Solr indexes and configurations for a specific collection",
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-Restore",
+      "description": "Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
       "type": "object",
       "properties": {
         "collection": {
           "type": "string",
-          "description": "Name of the collection"
+          "description": "The name of the collection the backup will be restored to. This collection must not exist prior to this "
         },
         "name": {
           "type": "string",
-          "description": "Name of the backup"
+          "description": "The name of the backup file."
         },
         "location": {
           "type": "string",
-          "description": "The location on the shared drive for the backup command to write to. Alternately it can be set as a cluster property"
+          "description": "The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."
         }
       },
       "required": [

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.collection.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.Commands.json b/solr/core/src/resources/apispec/collections.collection.Commands.json
index dfd11b9..8202030 100644
--- a/solr/core/src/resources/apispec/collections.collection.Commands.json
+++ b/solr/core/src/resources/apispec/collections.collection.Commands.json
@@ -1,5 +1,6 @@
 {
-  "documentation": "https://cwiki.apache.org",
+  "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API",
+  "description": "Several collection-level operations are supported with this endpoint: modify collection attributes; reload a collection; migrate documents to a different collection; rebalance collection leaders; balance properties across shards; and add or delete a replica property.",
   "methods": [
     "POST"
   ],
@@ -19,82 +20,90 @@
     "migrate-docs":{
       "type":"object",
       "documentation":"https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api12",
+      "description": "Moves documents with a given routing key to another collection. The source collection will continue to have the same documents, but will start re-routing write requests to the new collection. This command only works on collections using the 'compositeId' type of document routing.",
       "properties":{
         "target":{
           "type":"string",
-          "description":"The name of the target collection to which documents will be migrated"
+          "description":"The name of the collection to which documents will be migrated."
         },
         "splitKey":{
           "type":"string",
-          "description":"he routing key prefix. For example, if uniqueKey is a!123, then you would use split.key=a!"
+          "description":"The routing key prefix. For example, if uniqueKey is a!123, then you would use split.key=a! This key may span multiple shards on source and target collections. The migration will be completed shard-by-shard in a single thread."
         },
         "forwardTimeout":{
           "type":"integer",
-          "description":"The timeout, in seconds, until which write requests made to the source collection for the given split.key will be forwarded to the target shard. The default is 60 seconds."
+          "description":"The timeout, in seconds, until which write requests made to the source collection for the given splitKey will be forwarded to the target shard. Once this time is up, write requests will be routed to the target collection. Any applications sending read or write requests should be modified once the migration is complete to send documents to the right collection.",
+          "default": "60"
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined. This command can be long-running, so running it asynchronously is recommended."
         }
       },
       "required":["target", "splitKey"]
     },
     "balanceshardunique":{
       "type":"object",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-BalanceSliceUnique",
+      "description": "Insures a property is distributed equally across all physical nodes of a collection. If the property already exists on a replica, effort is made to leave it there. However, if it does not exist on any repica, a shard will be chosen and the property added.",
       "properties":{
+        "property":{
+          "type":"string",
+          "description": "The property to balance across nodes. This can be entered as 'property.<property>' or simply '<property>'. If the 'property.' prefix is not defined, it will be added automatically."
+       },
         "onlyactivenodes":{
           "type":"boolean",
-          "description":"Defaults to true. Normally, the property is instantiated on active nodes only. If this parameter is specified as 'false', then inactive nodes are also included for distribution."
-
+          "description": "Normally, a property is instantiated on active nodes only. If this parameter is specified as 'false', then inactive nodes are also included for distribution.",
+          "default": "true"
         },
         "shardUnique":{
           "type":"boolean",
-          "description":"Something of a safety valve. There is one pre-defined property (preferredLeader) that defaults this value to 'true'. For all other properties that are balanced, this must be set to 'true' or an error message is returned."
-        },
-        "property":{
-          "type":"string",
-          "description": "the actual property"
+          "description": "There is one pre-defined property (preferredLeader) that defaults this value to 'true'. For all other properties that are balanced, this must be set to 'true' or an error message is returned."
         }
       },
       "required":["property"]
     },
     "rebalance-leaders" :{
       "type":"object",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-RebalanceLeaders",
+      "description": "Reassign leaders in a collection according to the preferredLeader property across active nodes. This command should be run after the preferredLeader property has been set with the balance-shards or add-replica-property commands.",
       "properties":{
         "maxAtOnce":{
           "type":"number",
-          "description":"The maximum number of reassignments to have queue up at once. Values <=0 are use the default value Integer.MAX_VALUE. When this number is reached, the process waits for one or more leaders to be successfully assigned before adding more to the queue."
+          "description":"The maximum number of reassignments to have in the queue at one time. Values <=0 use the default value Integer.MAX_VALUE. When this number is reached, the process waits for one or more leaders to be successfully assigned before adding more to the queue."
         },
         "maxWaitSeconds":{
           "type":"number",
-          "description":"This is the timeout value when waiting for leaders to be reassigned"
+          "description":"Timeout, in seconds, when waiting for leaders to be reassigned. If maxAtOnce is less than the number of reassignments pending, this is the maximum interval for any single reassignment.",
+          "default": "60"
         }
       }
     },
     "add-replica-property": {
-      "description": "Assign an arbitrary property to a particular replica and give it the value specified. If the property already exists, it will be overwritten with the new value",
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-AddReplicaProp",
+      "description": "Assign an arbitrary property to a particular replica and give it the value specified. If the property already exists, it will be overwritten with the new value.",
       "type": "object",
       "properties": {
         "shard": {
           "type": "string",
-          "description": "The shard name"
+          "description": "The name of the shard the replica belongs to."
         },
         "replica": {
           "type": "string",
-          "description": "The replica name"
+          "description": "The name of the replica."
         },
         "name": {
           "type": "string",
-          "description": "The property name"
+          "description": "The name of the property. This can be entered as 'property.<property>' or simply '<property>'. If the 'property.' prefix is not defined, it will be added automatically."
         },
         "value": {
           "type": "string",
-          "description": "The value to assign to the property"
+          "description": "The value to assign to the property."
         },
         "shardUnique": {
           "type": "boolean",
-          "description": "If true, then setting this property in one replica will remove the property from all other replicas in that shard"
+          "description": "If true, setting this property in one replica will remove the property from all other replicas in that shard.",
+          "default": "false"
         }
       },
       "required": [
@@ -111,15 +120,15 @@
       "properties": {
         "shard": {
           "type": "string",
-          "description": "The shard name"
+          "description": "The name of the shard the replica belongs to."
         },
         "replica": {
           "type": "string",
-          "description": "The replica name"
+          "description": "The name of the replica."
         },
         "property": {
           "type": "string",
-          "description": "The property name"
+          "description": "The name of the property to remove."
         }
       },
       "required":["shard","replica","property"]

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.collection.Commands.modify.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.Commands.modify.json b/solr/core/src/resources/apispec/collections.collection.Commands.modify.json
index 7c628c7..f4114c9 100644
--- a/solr/core/src/resources/apispec/collections.collection.Commands.modify.json
+++ b/solr/core/src/resources/apispec/collections.collection.Commands.modify.json
@@ -1,34 +1,36 @@
 {
   "documentation":"https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-modifycoll",
-  "description":"",
+  "description":"Modifies specific attributes of a collection. Multiple attributes can be changed at one time.",
   "type": "object",
   "properties":{
     "rule": {
       "type": "array",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement",
+      "description": "Modifies the rules for where replicas should be located in a cluster.",
       "items": {
         "type": "string"
-      },
-      "description": "Replica placement rules"
+      }
     },
     "snitch": {
       "type": "array",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Rule-based+Replica+Placement",
+      "description": "Details of the snitch provider",
       "items": {
         "type": "string"
-      },
-      "description": "Details of the snitch provider"
+      }
     },
     "autoAddReplicas": {
       "type": "boolean",
-      "description": "When set to true, enables auto addition of replicas on shared file systems. See the section autoAddReplicas Settings for more details on settings and overrides."
+      "description": "When set to true, enables auto addition of replicas on shared file systems (such as HDFS). See https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+HDFS for more details on settings and overrides.",
     },
     "replicationFactor": {
       "type": "string",
-      "description": "The number of replicas to be created for each shard"
+      "description": "The number of replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Note that changing this value on an existing collection does not automatically add more replicas to the collection. However, it will allow add-replica commands to succeed."
     },
     "maxShardsPerNode": {
       "type": "integer",
-      "description": "When creating collections, the shards and/or replicas are spread across all available (i.e., live) nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the CREATE operation is called, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas CREATE will spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."
+      "description": "When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."
     }
 
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.collection.Commands.reload.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.Commands.reload.json b/solr/core/src/resources/apispec/collections.collection.Commands.reload.json
index da89a04..fe7e379 100644
--- a/solr/core/src/resources/apispec/collections.collection.Commands.reload.json
+++ b/solr/core/src/resources/apispec/collections.collection.Commands.reload.json
@@ -1,10 +1,11 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api2",
+  "description": "Reloads a collection so new configuration changes can take effect and be available for use by the system.",
   "type" : "object",
   "properties":{
     "async": {
       "type": "string",
-      "description": "Request ID to track this action which will be processed asynchronously"
+      "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined."
     }
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.collection.delete.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.delete.json b/solr/core/src/resources/apispec/collections.collection.delete.json
index d33543e..0ab4562 100644
--- a/solr/core/src/resources/apispec/collections.collection.delete.json
+++ b/solr/core/src/resources/apispec/collections.collection.delete.json
@@ -1,5 +1,6 @@
 {
-  "documentation": "https://cwiki.apache.org",
+  "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api6",
+  "description": "Deletes a collection.",
   "methods": [
     "DELETE"
   ],

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4eb1f3d7/solr/core/src/resources/apispec/collections.collection.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.json b/solr/core/src/resources/apispec/collections.collection.json
index 68775bf..34008be 100644
--- a/solr/core/src/resources/apispec/collections.collection.json
+++ b/solr/core/src/resources/apispec/collections.collection.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1",
+  "description": "Lists all collections, with details on shards and replicas in each collection.",
   "methods": [
     "GET"
   ],


[3/4] lucene-solr:apiv2: Update Config API specs with descriptions and docs

Posted by ct...@apache.org.
Update Config API specs with descriptions and docs


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/edea14f3
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/edea14f3
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/edea14f3

Branch: refs/heads/apiv2
Commit: edea14f33ea5b138c179044690a67d8406ef14d5
Parents: e7e8c65
Author: Cassandra Targett <ct...@apache.org>
Authored: Mon Dec 12 16:11:53 2016 -0600
Committer: Cassandra Targett <ct...@apache.org>
Committed: Mon Dec 12 16:11:53 2016 -0600

----------------------------------------------------------------------
 ...ig.Commands.addRequestHandler.properties.json | 12 ++++++++----
 .../core.config.Commands.addRuntimeLib.json      | 10 +++++-----
 .../apispec/core.config.Commands.generic.json    | 17 +++++++++++++----
 .../resources/apispec/core.config.Commands.json  | 19 +++++++++++++++++--
 .../core.config.Commands.updateRuntimeLib.json   | 10 +++++-----
 solr/core/src/resources/apispec/core.config.json |  1 +
 6 files changed, 49 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json b/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
index 9994449..731c3d8 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.addRequestHandler.properties.json
@@ -2,20 +2,24 @@
   "type": "object",
   "properties": {
     "name": {
-      "type": "string"
+      "type": "string",
+      "description": "The name of the request handler. This name will be used to update or remove the request handler later if necessary."
     },
     "class": {
-      "type": "string"
+      "type": "string",
+      "description": "The request handler class. Class names do not need to be fully qualified if they are included with Solr, so you can abbreviate the name as 'solr.SearchHandler'. Custom or third-party class names may need to be fully qualified, however."
     },
     "runtimeLib": {
-      "type": "boolean"
+      "type": "boolean",
+      "description": "An optional parameter to use a custom .jar file that has been uploaded to Solr's blobstore. This additionally requires that the .jar has also been registered with the 'add-runtimelib' command, which is one of the available commands for the Config API."
     },
     "startup": {
       "type": "string",
+      "description": "Allows the request handler to only start when requested. The only option is 'lazy'.",
       "enum": [
         "lazy"
       ]
     }
   },
   "additionalProperties": true
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.Commands.addRuntimeLib.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.addRuntimeLib.json b/solr/core/src/resources/apispec/core.config.Commands.addRuntimeLib.json
index d95f502..8e2fb2d 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.addRuntimeLib.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.addRuntimeLib.json
@@ -1,23 +1,23 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Adding+Custom+Plugins+in+SolrCloud+Mode",
-  "description": "",
+  "description": "Allows you to register .jars that have been uploaded to the .system collection in Solr. Note that uploading the .jar must occur before using this API.",
   "type": "object",
   "properties": {
     "name": {
-      "description": "Name of the jar blob in .system collection",
+      "description": "The name of the .jar blob in .system collection. This is the name you provided when you uploaded it.",
       "type": "string"
     },
     "version": {
       "type": "integer",
-      "description": "The version of the blob in .system colection"
+      "description": "The version of the blob in .system collection. Be sure to use the correct version if you have multiple versions of the same .jar uploaded."
     },
     "sig": {
       "type": "string",
-      "description": "sha1 signature of the jar"
+      "description": "The sha1 signature of the .jar, if it was signed before uploading. If you signed the sha1 digest of your .jar file prior to uploading it to the .system collection, this is where you need to provide the signature."
     }
   },
   "required": [
     "name",
     "version"
   ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.Commands.generic.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.generic.json b/solr/core/src/resources/apispec/core.config.Commands.generic.json
index 51b8fdf..9d2b01d 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.generic.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.generic.json
@@ -1,10 +1,19 @@
 {
   "type": "object",
   "properties": {
-    "name": { "type": "string"},
-    "class": { "type": "string"},
-    "runtimeLib": { "type": "boolean"}
+    "name": {
+      "type": "string",
+      "description": "The name of this configuration item. This name will be used to update or remove this later if necessary."
+   },
+    "class": {
+      "type": "string",
+      "description": "The configuration item class. Class names do not need to be fully qualified if they are included with Solr, so you can abbreviate the name as 'solr.SearchHandler'. Custom or third-party class names may need to be fully qualified, however."
+   },
+    "runtimeLib": {
+      "type": "boolean",
+      "description": "An optional parameter to use a custom .jar file that has been uploaded to Solr's blobstore. This additionally requires that the .jar has also been registered with the 'add-runtimelib' command, which is one of the available commands for the Config API."
+   }
   },
   "required": [ "name", "class"],
   "additionalProperties": true
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.json b/solr/core/src/resources/apispec/core.config.Commands.json
index f4e0687..e7d54ac 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.json
@@ -1,6 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Config+API",
-  "description": "The Config API enables manipulating various aspects of your solrconfig.xml using REST-like API calls.",
+  "description": "The Config API enables manipulating various aspects of your solrconfig.xml using REST-like API calls. All properties set with this API update a file called configoverlay.json, but not the solrconfig.xml file itself.",
   "methods": [
     "POST"
   ],
@@ -12,10 +12,14 @@
   "commands": {
     "set-property:": {
       "type": "object",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Config+API#ConfigAPI-Commandstomodifytheconfig",
+      "description": "Sets one or more of several pre-defined properties. These properties set cache sizes and classes, commit rules, JMX settings, and request dispatcher settings. See the documentation for the list of properties that are supported. If a property is set that already exists, it will be overwritten.",
       "additionalProperties": true
     },
     "unset-property": {
       "type":"array",
+      "documentation": "https://cwiki.apache.org/confluence/display/solr/Config+API#ConfigAPI-Commandstomodifytheconfig",
+      "description": "Removes one or more of several pre-defined properties. These properties set cache sizes and classes, commit rules, JMX settings, and request dispatcher settings. See the documentation for the list of properties that are supported. The value of the property does not need to be defined with the list of properties, only the name of the property.",
       "items": {
         "type": "string"
       }
@@ -35,6 +39,7 @@
     },
     "delete-requesthandler": {
       "type": "array",
+      "description": "Deletes one or more request handlers, using the name given when the request handler was created. Define more than one request handler by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -47,6 +52,7 @@
     },
     "delete-searchcomponent": {
       "type": "array",
+      "description": "Deletes one or more search components, using the name given when the search component was created. Define more than one search component by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -61,6 +67,7 @@
     },
     "delete-initparams": {
       "type": "array",
+      "description": "Deletes one or more init params, using the name given when the init param set was created. Define more than one init params by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -73,6 +80,7 @@
     },
     "delete-queryresponsewriter": {
       "type": "array",
+      "description": "Deletes one or more query response writers, using the name given when the response writer was created. Define more than one response writer by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -84,7 +92,8 @@
       "#include": "core.config.Commands.generic"
     },
     "delete-queryparser": {
-      "type": "string"
+      "type": "string",
+      "description": "Deletes one or more query parsers, using the name given when the query parser was created. Define more than one query parser by separating the list of names with commas.",
     },
     "add-valuesourceparser": {
       "#include": "core.config.Commands.generic"
@@ -94,6 +103,7 @@
     },
     "delete-valuesourceparser": {
       "type": "array",
+      "description": "Deletes one or more ValueSourceParsers, using the name given when the ValueSourceParser was created. Define more than one ValueSourceParsers by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -106,6 +116,7 @@
     },
     "delete-transformer": {
       "type": "array",
+      "description": "Deletes one or more document transformers, using the name given when the document transformer was created. Define more than one document transformers by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -118,6 +129,7 @@
     },
     "delete-updateprocessor": {
       "type": "array",
+      "description": "Deletes one or more update processors, using the name given when the update processor was created. Define more than one update processors by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -130,6 +142,7 @@
     },
     "delete-queryconverter": {
       "type": "array",
+      "description": "Deletes one or more query converters, using the name given when the query converter was created. Define more than one query converters by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -144,6 +157,7 @@
     },
     "delete-listener": {
       "type": "array",
+      "description": "Deletes one or more listeners, using the name given when the listener was created. Define more than one listener by separating the list of names with commas.",
       "items": {
         "type": "string"
       }
@@ -156,6 +170,7 @@
     },
     "delete-runtimelib": {
       "type":"array",
+      "description": "Deletes one or more runtime libraries (runtimeLibs), using the name given when the runtimeLib was created. Define more than one runtimeLibs by separating the list of names with commas.",
       "items": {
         "type": "string"
       }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.Commands.updateRuntimeLib.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Commands.updateRuntimeLib.json b/solr/core/src/resources/apispec/core.config.Commands.updateRuntimeLib.json
index d95f502..9d4df5b 100644
--- a/solr/core/src/resources/apispec/core.config.Commands.updateRuntimeLib.json
+++ b/solr/core/src/resources/apispec/core.config.Commands.updateRuntimeLib.json
@@ -1,23 +1,23 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Adding+Custom+Plugins+in+SolrCloud+Mode",
-  "description": "",
+  "description": "Updates the registration of a .jar with the system.",
   "type": "object",
   "properties": {
     "name": {
-      "description": "Name of the jar blob in .system collection",
+      "description": "The name of the .jar blob in .system collection. This is the name you provided when you uploaded it.",
       "type": "string"
     },
     "version": {
       "type": "integer",
-      "description": "The version of the blob in .system colection"
+      "description": "The version of the blob in .system collection. Be sure to use the correct version if you have multiple versions of the same .jar uploaded."
     },
     "sig": {
       "type": "string",
-      "description": "sha1 signature of the jar"
+      "description": "The sha1 signature of the .jar, if it was signed before uploading. If you signed the sha1 digest of your .jar file prior to uploading it to the .system collection, this is where you need to provide the signature."
     }
   },
   "required": [
     "name",
     "version"
   ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/edea14f3/solr/core/src/resources/apispec/core.config.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.json b/solr/core/src/resources/apispec/core.config.json
index 0645967..2633fd9 100644
--- a/solr/core/src/resources/apispec/core.config.json
+++ b/solr/core/src/resources/apispec/core.config.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Config+API",
+  "description": "Gets the Solr configuration for a collection.",
   "methods": [
     "GET"
   ],


[4/4] lucene-solr:apiv2: Update Request Params APIs with descriptions

Posted by ct...@apache.org.
Update Request Params APIs with descriptions


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1bbbe678
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1bbbe678
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1bbbe678

Branch: refs/heads/apiv2
Commit: 1bbbe678f1d9fb38f3fe4005a8d899241ab18217
Parents: edea14f
Author: Cassandra Targett <ct...@apache.org>
Authored: Tue Dec 13 09:37:20 2016 -0600
Committer: Cassandra Targett <ct...@apache.org>
Committed: Tue Dec 13 09:37:20 2016 -0600

----------------------------------------------------------------------
 .../resources/apispec/core.config.Params.Commands.json   | 11 ++++++-----
 solr/core/src/resources/apispec/core.config.Params.json  |  1 +
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1bbbe678/solr/core/src/resources/apispec/core.config.Params.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Params.Commands.json b/solr/core/src/resources/apispec/core.config.Params.Commands.json
index fd968b1..474f1a6 100644
--- a/solr/core/src/resources/apispec/core.config.Params.Commands.json
+++ b/solr/core/src/resources/apispec/core.config.Params.Commands.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Request+Parameters+API",
+  "description": "Create, update and delete request parameter sets (paramsets) to override or replace parameters defined in solrconfig.xml. Parameter sets are used with request handlers by setting the useParams attribute to the paramset name in the definition of the request handler or with individual requests to Solr. Parameter sets defined with this API are stored in a file params.json in ZooKeeper or on the filesystem when not using SolrCloud. Note this API does not directly update solrconfig.xml. ",
   "methods": [
     "POST"
   ],
@@ -11,20 +12,20 @@
   "commands": {
     "set:": {
       "type":"object",
-      "description":"add or overwrite one or more param sets",
+      "description":"Add or overwrite one or more paramsets. Each paramset definition includes a paramset name, followed by key-value pairs of the parameter and value to be set.",
       "additionalProperties": true
     },
     "unset": {
       "type":"array",
+      "description": "Delete one or more paramsets.",
       "items": {
         "type": "string"
-      },
-      "description": "delete one or more parameter sets"
+      }
     },
     "update": {
       "type":"object",
-      "description": "update one or more param sets",
+      "description": "Update one or more paramsets. This command will attempt to merge an existing paramset with the new values. Each paramset definition includes a paramset name, followed by key-value pairs of the parameters and values to be updated.",
       "additionalProperties": true
     }
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1bbbe678/solr/core/src/resources/apispec/core.config.Params.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/core.config.Params.json b/solr/core/src/resources/apispec/core.config.Params.json
index b256e66..cff0350 100644
--- a/solr/core/src/resources/apispec/core.config.Params.json
+++ b/solr/core/src/resources/apispec/core.config.Params.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Request+Parameters+API",
+  "description": "List all parameter sets (paramsets). Individual paramsets can be requested by paramset name.",
   "methods": [
     "GET"
   ],


[2/4] lucene-solr:apiv2: Finish up Collection specs

Posted by ct...@apache.org.
Finish up Collection specs


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e7e8c654
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e7e8c654
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e7e8c654

Branch: refs/heads/apiv2
Commit: e7e8c6548d5fa19d07bdd0d000affd8cfec4aafb
Parents: 4eb1f3d
Author: Cassandra Targett <ct...@apache.org>
Authored: Mon Dec 12 12:58:56 2016 -0600
Committer: Cassandra Targett <ct...@apache.org>
Committed: Mon Dec 12 12:58:56 2016 -0600

----------------------------------------------------------------------
 .../collections.collection.shards.Commands.json | 37 ++++++++++++--------
 ...ctions.collection.shards.shard.Commands.json |  5 +--
 ...lections.collection.shards.shard.delete.json |  3 +-
 ....collection.shards.shard.replica.delete.json | 21 +++++------
 .../core/src/resources/apispec/collections.json |  1 +
 5 files changed, 40 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e7e8c654/solr/core/src/resources/apispec/collections.collection.shards.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.shards.Commands.json b/solr/core/src/resources/apispec/collections.collection.shards.Commands.json
index 67f2383..7a959d0 100644
--- a/solr/core/src/resources/apispec/collections.collection.shards.Commands.json
+++ b/solr/core/src/resources/apispec/collections.collection.shards.Commands.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API",
+  "description": "Allows you to create a shard, split an existing shard or add a new replica.",
   "methods": [
     "POST"
   ],
@@ -13,26 +14,29 @@
     "split": {
       "type" : "object",
       "documentation":"https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api3",
+      "description": "Splits an existing shard into two or more new shards. During this action, the existing shard will continue to contain the original data, but new data will be routed to the new shards once the split is complete. New shards will have as many replicas as the existing shards. A soft commit will be done automatically. An explicit commit request is not required because the index is automatically saved to disk during the split operation. New shards will use the original shard name as the basis for their names, adding an underscore and a number to differentiate the new shard. For example, 'shard1' would become 'shard1_0' and 'shard1_1'. Note that this operation can take a long time to complete.",
       "properties": {
         "shard":{
           "type":"string",
-          "description":"The name of the shard to be split"
+          "description":"The name of the shard to be split."
         },
         "ranges" : {
-          "description" : "A comma-separated list of hash ranges in hexadecimal e.g. ranges=0-1f4,1f5-3e8,3e9-5dc",
+          "description" : "A comma-separated list of hexadecimal hash ranges that will be used to split the shard into new shards containing each defined range, e.g. ranges=0-1f4,1f5-3e8,3e9-5dc. This is the only option that allows splitting a single shard into more than 2 additional shards. If neither this parameter nor splitKey are defined, the shard will be split into two equal new shards.",
           "type":"string"
         },
         "splitKey":{
-          "description" : "The key to use for splitting the index",
+          "description" : "A route key to use for splitting the index. If this is defined, the shard parameter is not required because the route key will identify the correct shard. A route key that spans more than a single shard is not supported. If neither this parameter nor ranges are defined, the shard will be split into two equal new shards.",
           "type":"string"
         },
         "coreProperties":{
           "type":"object",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Defining+core.properties",
+          "description": "Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
           "additionalProperties":true
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined. This command can be long-running, so running it asynchronously is recommended."
         }
       }
     },
@@ -40,57 +44,62 @@
       "type":"object",
       "properties": {
         "nodeSet": {
-          "description": "list of node names",
+          "description": "Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint.",
           "type": "array",
           "items": {
             "type": "string"
           }
         },
         "shard": {
-          "description": "The name of the shard to be created",
+          "description": "The name of the shard to be created.",
           "type": "string"
         },
         "coreProperties": {
           "type": "object",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Defining+core.properties",
+          "description": "Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
           "additionalProperties": true
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined."
         }
       }
     },
     "add-replica": {
-      "documentation":"",
+      "documentation":"https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api_addreplica",
+      "description": "",
       "type" : "object",
       "properties": {
         "shard": {
           "type": "string",
-          "description": "The name of the shard in which this replica should be created"
+          "description": "The name of the shard in which this replica should be created. If this parameter is not specified, then '_route_' must be defined."
         },
         "_route_": {
           "type": "string",
-          "description": "If the exact shard name is not known, users may pass the _route_ value and the system would identify the name of the shard. Ignored if the shard param is also specified"
+          "description": "If the exact shard name is not known, users may pass the _route_ value and the system would identify the name of the shard. Ignored if the shard param is also specified. If the 'shard' parameter is also defined, this parameter will be ignored."
         },
         "node": {
           "type": "string",
-          "description": "The name of the node where the replica should be created"
+          "description": "The name of the node where the replica should be created."
         },
         "instanceDir": {
           "type": "string",
-          "description": "The instanceDir for the core that will be created"
+          "description": "An optional custom instanceDir for this replica."
         },
         "dataDir": {
           "type": "string",
-          "description": "The directory in which the core should be created"
+          "description": "An optional custom directory used to store index data for this replica."
         },
         "coreProperties": {
           "type": "object",
+          "documentation": "https://cwiki.apache.org/confluence/display/solr/Defining+core.properties",
+          "description": "Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set and the node name, among others.",
           "additionalProperties": true
         },
         "async": {
           "type": "string",
-          "description": "Request ID to track this action which will be processed asynchronously"
+          "description": "Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined."
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e7e8c654/solr/core/src/resources/apispec/collections.collection.shards.shard.Commands.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.shards.shard.Commands.json b/solr/core/src/resources/apispec/collections.collection.shards.shard.Commands.json
index 54e4abf..83f7ddf 100644
--- a/solr/core/src/resources/apispec/collections.collection.shards.shard.Commands.json
+++ b/solr/core/src/resources/apispec/collections.collection.shards.shard.Commands.json
@@ -1,5 +1,6 @@
 {
-  "documentation": "https://cwiki.apache.org",
+  "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API",
+  "description": "Commands to force leader election and synchronize shards.",
   "methods": [
     "POST",
     "DELETE"
@@ -12,8 +13,8 @@
   },
   "commands": {
     "force-leader": {
-      "description": "In the unlikely event of a shard losing its leader, this command can be invoked to force the election of a new leader",
       "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-ForceLeader",
+      "description": "In the unlikely event of a shard losing its leader, this command can be invoked to force the election of a new leader",
       "type": "object"
     },
     "sync-shard": {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e7e8c654/solr/core/src/resources/apispec/collections.collection.shards.shard.delete.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.shards.shard.delete.json b/solr/core/src/resources/apispec/collections.collection.shards.shard.delete.json
index 11dc291..67a6323 100644
--- a/solr/core/src/resources/apispec/collections.collection.shards.shard.delete.json
+++ b/solr/core/src/resources/apispec/collections.collection.shards.shard.delete.json
@@ -1,5 +1,6 @@
 {
-  "documentation": "https://cwiki.apache.org",
+  "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api7",
+  "description": "Deletes a shard by unloading all replicas of the shard, removing it from clusterstate.json, and by default deleting the instanceDir and dataDir. Only inactive shards or those which have no range for custom sharding will be deleted.",
   "methods": [
     "DELETE"
   ],

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e7e8c654/solr/core/src/resources/apispec/collections.collection.shards.shard.replica.delete.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.collection.shards.shard.replica.delete.json b/solr/core/src/resources/apispec/collections.collection.shards.shard.replica.delete.json
index 304233d..a0c8ee6 100644
--- a/solr/core/src/resources/apispec/collections.collection.shards.shard.replica.delete.json
+++ b/solr/core/src/resources/apispec/collections.collection.shards.shard.replica.delete.json
@@ -1,5 +1,6 @@
 {
-  "documentation": "https://cwiki.apache.org",
+  "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api9",
+  "description": "Deletes a replica. If the responding node is up, the core is unloaded, the entry removed from clusterstate.json, and the instanceDir and dataDir removed. If the node is not up, the entry for the replica is removed from clusterstate.json; if the nodes comes up later, the replica is automatically de-registered.",
   "methods": [
     "DELETE"
   ],
@@ -11,27 +12,27 @@
     "params": {
       "onlyIfDown": {
         "type": "boolean",
-        "default": false,
-        "description": "When set to 'true' will not take any action if the replica is active. Default 'false"
+        "default": "false",
+        "description": "When set to 'true', no action will be taken if the replica is active."
       },
       "deleteIndex": {
         "type": "boolean",
-        "default": false,
-        "description": "By default Solr will delete the index of the replica that is deleted. Set this to false to prevent the index directory from being deleted"
+        "default": "true",
+        "description": "By default Solr will delete the index of the replica that is deleted. Set this to false to prevent the index directory from being deleted."
       },
       "deleteDataDir": {
         "type": "boolean",
-        "default": false,
-        "description": "By default Solr will delete the dataDir of the replica that is deleted. Set this to false to prevent the data directory from being deleted"
+        "default": "true",
+        "description": "By default Solr will delete the dataDir of the replica that is deleted. Set this to false to prevent the data directory from being deleted."
       },
       "deleteInstanceDir": {
         "type": "boolean",
-        "default": false,
-        "description": "By default Solr will delete the entire instanceDir of the replica that is deleted. Set this to false to prevent the instance directory from being deleted"
+        "default": "true",
+        "description": "By default Solr will delete the entire instanceDir of the replica that is deleted. Set this to false to prevent the instance directory from being deleted."
       },
       "async":{
         "type":"string",
-        "description":"Request ID to track this action which will be processed asynchronously."
+        "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously when this is defined."
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e7e8c654/solr/core/src/resources/apispec/collections.json
----------------------------------------------------------------------
diff --git a/solr/core/src/resources/apispec/collections.json b/solr/core/src/resources/apispec/collections.json
index 0742fca..49ca976 100644
--- a/solr/core/src/resources/apispec/collections.json
+++ b/solr/core/src/resources/apispec/collections.json
@@ -1,5 +1,6 @@
 {
   "documentation": "https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1",
+  "description": "List all available collections and their properties.",
   "methods": [
     "GET"
   ],