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 2017/06/27 03:18:30 UTC

[2/5] lucene-solr:master: SOLR-10892: Phase 2: large pages with lots of tables + lots of heading cleanups & TOC placement changes

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/93c96b06/solr/solr-ref-guide/src/highlighting.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/highlighting.adoc b/solr/solr-ref-guide/src/highlighting.adoc
index 117ccbc..b0d094d 100644
--- a/solr/solr-ref-guide/src/highlighting.adoc
+++ b/solr/solr-ref-guide/src/highlighting.adoc
@@ -27,32 +27,68 @@ Highlighting is extremely configurable, perhaps more than any other part of Solr
 [[Highlighting-Usage]]
 == Usage
 
+=== Common Highlighter Parameters
 You only need to set the `hl` and often `hl.fl` parameters to get results. The following table documents these and some other supported parameters. Note that many highlighting parameters support per-field overrides, such as: `f._title_txt_.hl.snippets`
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="20,15,65",options="header"]
-|===
-|Parameter |Default |Description
-|hl |false |Use this parameter to enable or disable highlighting.
-|hl.method |original |The highlighting implementation to use. Acceptable values are: `unified`, `original`, `fastVector`. See the <<Highlighting-ChoosingaHighlighter,Choosing a Highlighter>> section below for more details on the differences between the available highlighters.
-|hl.fl |_(df=)_ |Specifies a list of fields to highlight. Accepts a comma- or space-delimited list of fields for which Solr should generate highlighted snippets. A wildcard of `\*` (asterisk) can be used to match field globs, such as `text_*` or even `\*` to highlight on all fields where highlighting is possible. When using `\*`, consider adding `hl.requireFieldMatch=true`.
-|hl.q |_(q=)_ |A query to use for highlighting. This parameter allows you to highlight different terms than those being used to retrieve documents.
-|hl.qparser |_(defType=)_ |The query parser to use for the `hl.q` query.
-|hl.requireFieldMatch |false a|
-By default, *false*, all query terms will be highlighted for each field to be highlighted (`hl.fl`) no matter what fields the parsed query refer to. If set to *true*, only query terms aligning with the field being highlighted will in turn be highlighted.
-
-Note: if the query references fields different from the field being highlighted and they have different text analysis, the query may not highlight query terms it should have and vice versa. The analysis used is that of the field being highlighted (`hl.fl`), not the query fields.
-
-|hl.usePhraseHighlighter |true |If set to *true*, Solr will highlight phrase queries (and other advanced position-sensitive queries) accurately – as phrases. If *false*, the parts of the phrase will be highlighted everywhere instead of only when it forms the given phrase.
-|hl.highlightMultiTerm |true |If set to *true*, Solr will highlight wildcard queries (and other `MultiTermQuery` subclasses). If *false*, they won't be highlighted at all.
-|hl.snippets |1 |Specifies maximum number of highlighted snippets to generate per field. It is possible for any number of snippets from zero to this value to be generated.
-|hl.fragsize |100 |Specifies the approximate size, in characters, of fragments to consider for highlighting. *0* indicates that no fragmenting should be considered and the whole field value should be used.
-|hl.tag.pre |<em> |(`hl.simple.pre` for the Original Highlighter) Specifies the “tag” to use before a highlighted term. This can be any string, but is most often an HTML or XML tag.
-|hl.tag.post |</em> |(`hl.simple.post` for the Original Highlighter) Specifies the “tag” to use after a highlighted term. This can be any string, but is most often an HTML or XML tag.
-|hl.encoder |_(blank)_ |If blank, the default, then the stored text will be returned without any escaping/encoding performed by the highlighter. If set to *html* then special HMTL/XML characters will be encoded (e.g. `&` becomes `\&amp;`). The pre/post snippet characters are never encoded.
-|hl.maxAnalyzedChars |51200 |The character limit to look for highlights, after which no highlighting will be done. This is mostly only a performance concern for an _analysis_ based offset source since it's the slowest. See <<Schema Options and Performance Considerations>>.
-|===
+`hl`::
+Use this parameter to enable or disable highlighting. The default is `false`. If you want to use highlighting, you must set this to `true`.
+
+`hl.method`::
+The highlighting implementation to use. Acceptable values are: `unified`, `original`, `fastVector`. The default is `original`.
++
+See the <<Highlighting-ChoosingaHighlighter,Choosing a Highlighter>> section below for more details on the differences between the available highlighters.
+
+`hl.fl`::
+Specifies a list of fields to highlight. Accepts a comma- or space-delimited list of fields for which Solr should generate highlighted snippets.
++
+A wildcard of `\*` (asterisk) can be used to match field globs, such as `text_*` or even `\*` to highlight on all fields where highlighting is possible. When using `*`, consider adding `hl.requireFieldMatch=true`.
++
+When not defined, the defaults defined for the `df` query parameter will be used.
+
+`hl.q`::
+A query to use for highlighting. This parameter allows you to highlight different terms than those being used to retrieve documents.
++
+When not defined, the query defined with the `q` parameter will the used.
+
+`hl.qparser`::
+The query parser to use for the `hl.q` query.
++
+When not defined, the query parser defined with the `defType` query parameter will be used.
+
+`hl.requireFieldMatch`::
+By default, `false`, all query terms will be highlighted for each field to be highlighted (`hl.fl`) no matter what fields the parsed query refer to. If set to `true`, only query terms aligning with the field being highlighted will in turn be highlighted.
++
+If the query references fields different from the field being highlighted and they have different text analysis, the query may not highlight query terms it should have and vice versa. The analysis used is that of the field being highlighted (`hl.fl`), not the query fields.
+
+`hl.usePhraseHighlighter`::
+If set to `true`, the default, Solr will highlight phrase queries (and other advanced position-sensitive queries) accurately – as phrases. If `false`, the parts of the phrase will be highlighted everywhere instead of only when it forms the given phrase.
+
+`hl.highlightMultiTerm`::
+If set to `true`, the default, Solr will highlight wildcard queries (and other `MultiTermQuery` subclasses). If `false`, they won't be highlighted at all.
+
+`hl.snippets`::
+Specifies maximum number of highlighted snippets to generate per field. It is possible for any number of snippets from zero to this value to be generated. The default is `1`.
+
+`hl.fragsize`::
+Specifies the approximate size, in characters, of fragments to consider for highlighting. The default is `100`. Using `0` indicates that no fragmenting should be considered and the whole field value should be used.
+
+`hl.tag.pre`::
+(`hl.simple.pre` for the Original Highlighter) Specifies the “tag” to use before a highlighted term. This can be any string, but is most often an HTML or XML tag.
++
+The default is `<em>`.
+
+`hl.tag.post`:: </em> |
+(`hl.simple.post` for the Original Highlighter) Specifies the “tag” to use after a highlighted term. This can be any string, but is most often an HTML or XML tag.
++
+The default is `</em>`.
+
+`hl.encoder`::
+If blank, the default, then the stored text will be returned without any escaping/encoding performed by the highlighter. If set to `html` then special HMTL/XML characters will be encoded (e.g. `&` becomes `\&amp;`). The pre/post snippet characters are never encoded.
+
+`hl.maxAnalyzedChars`::
+The character limit to look for highlights, after which no highlighting will be done. This is mostly only a performance concern for an _analysis_ based offset source since it's the slowest. See <<Schema Options and Performance Considerations>>.
++
+The default is `51200` characters.
 
 There are more parameters supported as well depending on the highlighter (via `hl.method`) chosen.
 
@@ -73,30 +109,26 @@ we get a response such as this (truncated slightly for space):
 [source,json]
 ----
 {
-    "responseHeader": {
-        "..."
-        }
-    },
-    "response": {
-        "numFound": 1,
-        "start": 0,
-        "docs": [{
-            "id": "MA147LL/A",
-            "name": "Apple 60 GB iPod with Video Playback Black",
-            "manu": "Apple Computer Inc.",
-            "cat": [
-                "electronics",
-                "music"
-            ]
-        }]
-    },
-    "highlighting": {
-        "MA147LL/A": {
-            "manu": [
-                "<em>Apple</em> Computer Inc."
-            ]
-        }
+  "response": {
+    "numFound": 1,
+    "start": 0,
+    "docs": [{
+      "id": "MA147LL/A",
+      "name": "Apple 60 GB iPod with Video Playback Black",
+      "manu": "Apple Computer Inc.",
+      "cat": [
+        "electronics",
+        "music"
+      ]
+    }]
+  },
+  "highlighting": {
+    "MA147LL/A": {
+      "manu": [
+        "<em>Apple</em> Computer Inc."
+      ]
     }
+  }
 }
 ----
 
@@ -171,49 +203,114 @@ This adds substantial weight to the index – similar in size to the compressed
 
 The Unified Highlighter supports these following additional parameters to the ones listed earlier:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="20,15,65",options="header"]
-|===
-|Parameter |Default |Description
-|hl.offsetSource |_(blank)_ |By default, the Unified Highlighter will usually pick the right offset source (see above). However it may be ambiguous such as during a migration from one offset source to another that hasn't completed. The offset source can be explicitly configured to one of: *ANALYSIS,* *POSTINGS*, *POSTINGS_WITH_TERM_VECTORS*, *TERM_VECTORS*
-|hl.tag.ellipsis |_(blank)_ |By default, each snippet is returned as a separate value (as is done with the other highlighters). Set this parameter to instead return one string with this text as the delimiter. _Note: this is likely to be removed in the future._
-|hl.defaultSummary |false |If *true*, use the leading portion of the text as a snippet if a proper highlighted snippet can't otherwise be generated.
-|hl.score.k1 |1.2 |Specifies BM25 term frequency normalization parameter 'k1'. For example, it can be set to "0" to rank passages solely based on the number of query terms that match.
-|hl.score.b |0.75 |Specifies BM25 length normalization parameter 'b'. For example, it can be set to "0" to ignore the length of passages entirely when ranking.
-|hl.score.pivot |87 |Specifies BM25 average passage length in characters.
-|hl.bs.language |_(blank)_ |Specifies the breakiterator language for dividing the document into passages.
-|hl.bs.country |_(blank)_ |Specifies the breakiterator country for dividing the document into passages.
-|hl.bs.variant |_(blank)_ |Specifies the breakiterator variant for dividing the document into passages.
-|hl.bs.type |SENTENCE |Specifies the breakiterator type for dividing the document into passages. Can be *SEPARATOR*, *SENTENCE*, *WORD*, *CHARACTER*, *LINE*, or *WHOLE*. SEPARATOR is special value that splits text on a user-provided character in `hl.bs.separator`.
-|hl.bs.separator |_(blank)_ |Indicates which character to break the text on. Requires `hl.bs.type=SEPARATOR`. This is useful when the text has already been manipulated in advance to have a special delineation character at desired highlight passage boundaries. This character will still appear in the text as the last character of a passage.
-|===
+`hl.offsetSource`:: _(blank)_ |
+By default, the Unified Highlighter will usually pick the right offset source (see above). However it may be ambiguous such as during a migration from one offset source to another that hasn't completed.
++
+The offset source can be explicitly configured to one of: `ANALYSIS`, `POSTINGS`, `POSTINGS_WITH_TERM_VECTORS`, or `TERM_VECTORS`.
+
+`hl.tag.ellipsis`::
+By default, each snippet is returned as a separate value (as is done with the other highlighters). Set this parameter to instead return one string with this text as the delimiter. _Note: this is likely to be removed in the future._
+
+`hl.defaultSummary`::
+If `true`, use the leading portion of the text as a snippet if a proper highlighted snippet can't otherwise be generated. The default is `false`.
+
+`hl.score.k1`::
+Specifies BM25 term frequency normalization parameter 'k1'. For example, it can be set to `0` to rank passages solely based on the number of query terms that match. The default is `1.2`.
+
+`hl.score.b`::
+Specifies BM25 length normalization parameter 'b'. For example, it can be set to "0" to ignore the length of passages entirely when ranking. The default is `0.75`.
+
+`hl.score.pivot`::
+Specifies BM25 average passage length in characters. The default is `87`.
+
+`hl.bs.language`::
+Specifies the breakiterator language for dividing the document into passages.
+
+`hl.bs.country`::
+Specifies the breakiterator country for dividing the document into passages.
+
+`hl.bs.variant`::
+Specifies the breakiterator variant for dividing the document into passages.
+
+`hl.bs.type`::
+Specifies the breakiterator type for dividing the document into passages. Can be `SEPARATOR`, `SENTENCE`, `WORD`*, `CHARACTER`, `LINE`, or `WHOLE`. `SEPARATOR` is special value that splits text on a user-provided character in `hl.bs.separator`.
++
+The default is `SENTENCE`.
+
+`hl.bs.separator`::
+Indicates which character to break the text on. Use only if you have defined `hl.bs.type=SEPARATOR`.
++
+This is useful when the text has already been manipulated in advance to have a special delineation character at desired highlight passage boundaries. This character will still appear in the text as the last character of a passage.
+
 
 [[Highlighting-TheOriginalHighlighter]]
 == The Original Highlighter
 
 The Original Highlighter supports these following additional parameters to the ones listed earlier:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="25,15,60",options="header"]
-|===
-|Parameter |Default |Description
-|hl.mergeContiguous |false |Instructs Solr to collapse contiguous fragments into a single fragment. A value of *true* indicates contiguous fragments will be collapsed into single fragment. The default value, *false*, is also the backward-compatible setting.
-|hl.maxMultiValuedToExamine |`Integer.MAX_VALUE` |Specifies the maximum number of entries in a multi-valued field to examine before stopping. This can potentially return zero results if the limit is reached before any matches are found. If used with the `maxMultiValuedToMatch`, whichever limit is reached first will determine when to stop looking.
-|hl.maxMultiValuedToMatch |`Integer.MAX_VALUE` |Specifies the maximum number of matches in a multi-valued field that are found before stopping. If `hl.maxMultiValuedToExamine` is also defined, whichever limit is reached first will determine when to stop looking.
-|hl.alternateField |_(blank)_ |Specifies a field to be used as a backup default summary if Solr cannot generate a snippet (i.e., because no terms match).
-|hl.maxAlternateFieldLength |_(unlimited)_ |Specifies the maximum number of characters of the field to return. Any value less than or equal to 0 means the field's length is unlimited. This parameter is only used in conjunction with the `hl.alternateField` parameter.
-|hl.highlightAlternate |true |If set to *true*, and `hl.alternateFieldName` is active, Solr will show the entire alternate field, with highlighting of occurrences. If `hl.maxAlternateFieldLength=N` is used, Solr returns max `N` characters surrounding the best matching fragment. If set to *false*, or if there is no match in the alternate field either, the alternate field will be shown without highlighting.
-|hl.formatter |simple |Selects a formatter for the highlighted output. Currently the only legal value is *simple*, which surrounds a highlighted term with a customizable pre- and post-text snippet.
-|hl.simple.prehl.simple.post |<em> and </em> |Specifies the text that should appear before (`hl.simple.pre`) and after (`hl.simple.post`) a highlighted term, when using the simple formatter.
-|hl.fragmenter |gap |Specifies a text snippet generator for highlighted text. The standard fragmenter is *gap*, which creates fixed-sized fragments with gaps for multi-valued fields. Another option is *regex*, which tries to create fragments that resemble a specified regular expression.
-|hl.regex.slop |0.6 |When using the regex fragmenter (`hl.fragmenter=regex`), this parameter defines the factor by which the fragmenter can stray from the ideal fragment size (given by `hl.fragsize`) to accommodate a regular expression. For instance, a slop of 0.2 with `hl.fragsize=100` should yield fragments between 80 and 120 characters in length. It is usually good to provide a slightly smaller `hl.fragsize` value when using the regex fragmenter.
-|hl.regex.pattern |_(blank)_ |Specifies the regular expression for fragmenting. This could be used to extract sentences.
-|hl.regex.maxAnalyzedChars |10000 |Instructs Solr to analyze only this many characters from a field when using the regex fragmenter (after which, the fragmenter produces fixed-sized fragments). Applying a complicated regex to a huge field is computationally expensive.
-|hl.preserveMulti |false |If *true*, multi-valued fields will return all values in the order they were saved in the index. If *false*, only values that match the highlight request will be returned.
-|hl.payloads |_(automatic)_ |When `hl.usePhraseHighlighter` is true and the indexed field has payloads but not term vectors (generally quite rare), the index's payloads will be read into the highlighter's memory index along with the postings. If this may happen and you know you don't need them for highlighting (i.e. your queries don't filter by payload) then you can save a little memory by setting this to false.
-|===
+`hl.mergeContiguous`::
+Instructs Solr to collapse contiguous fragments into a single fragment. A value of `true` indicates contiguous fragments will be collapsed into single fragment. The default value, `false`, is also the backward-compatible setting.
+
+`hl.maxMultiValuedToExamine`::
+Specifies the maximum number of entries in a multi-valued field to examine before stopping. This can potentially return zero results if the limit is reached before any matches are found.
++
+If used with the `maxMultiValuedToMatch`, whichever limit is reached first will determine when to stop looking.
++
+The default is `Integer.MAX_VALUE`.
+
+`hl.maxMultiValuedToMatch`::
+Specifies the maximum number of matches in a multi-valued field that are found before stopping.
++
+If `hl.maxMultiValuedToExamine` is also defined, whichever limit is reached first will determine when to stop looking.
++
+The default is `Integer.MAX_VALUE`.
+
+`hl.alternateField`::
+Specifies a field to be used as a backup default summary if Solr cannot generate a snippet (i.e., because no terms match).
+
+`hl.maxAlternateFieldLength`::
+Specifies the maximum number of characters of the field to return. Any value less than or equal to `0` means the field's length is unlimited (the default behavior).
++
+This parameter is only used in conjunction with the `hl.alternateField` parameter.
+
+`hl.highlightAlternate`::
+If set to `true`, the default, and `hl.alternateFieldName` is active, Solr will show the entire alternate field, with highlighting of occurrences. If `hl.maxAlternateFieldLength=N` is used, Solr returns max `N` characters surrounding the best matching fragment.
++
+If set to `false`, or if there is no match in the alternate field either, the alternate field will be shown without highlighting.
+
+`hl.formatter`::
+Selects a formatter for the highlighted output. Currently the only legal value is `simple`, which surrounds a highlighted term with a customizable pre- and post-text snippet.
+
+`hl.simple.prehl.simple.post`::
+Specifies the text that should appear before (`hl.simple.pre`) and after (`hl.simple.post`) a highlighted term, when using the simple formatter. The default is `<em>` and `</em>`.
+
+`hl.fragmenter`::
+Specifies a text snippet generator for highlighted text. The standard (default) fragmenter is `gap`, which creates fixed-sized fragments with gaps for multi-valued fields.
++
+Another option is `regex`, which tries to create fragments that resemble a specified regular expression.
+
+`hl.regex.slop`:: 0.6 |
+When using the regex fragmenter (`hl.fragmenter=regex`), this parameter defines the factor by which the fragmenter can stray from the ideal fragment size (given by `hl.fragsize`) to accommodate a regular expression.
++
+For instance, a slop of `0.2` with `hl.fragsize=100` should yield fragments between 80 and 120 characters in length. It is usually good to provide a slightly smaller `hl.fragsize` value when using the regex fragmenter.
++
+The default is `0.6`.
+
+`hl.regex.pattern`::
+Specifies the regular expression for fragmenting. This could be used to extract sentences.
+
+`hl.regex.maxAnalyzedChars`:: 10000 |
+Instructs Solr to analyze only this many characters from a field when using the regex fragmenter (after which, the fragmenter produces fixed-sized fragments). The default is `10000`.
++
+Note, applying a complicated regex to a huge field is computationally expensive.
+
+`hl.preserveMulti`::
+If `true`, multi-valued fields will return all values in the order they were saved in the index. If `false`, the default, only values that match the highlight request will be returned.
+
+`hl.payloads`::
+When `hl.usePhraseHighlighter` is `true` and the indexed field has payloads but not term vectors (generally quite rare), the index's payloads will be read into the highlighter's memory index along with the postings.
++
+If this may happen and you know you don't need them for highlighting (i.e. your queries don't filter by payload) then you can save a little memory by setting this to false.
 
 The Original Highlighter has a plugin architecture that enables new functionality to be registered in `solrconfig.xml`. The "```techproducts```" configset shows most of these settings explicitly. You can use it as a guide to provide your own components to include a `SolrFormatter`, `SolrEncoder`, and `SolrFragmenter.`
 
@@ -230,18 +327,28 @@ In addition to the initial listed parameters, the following parameters documente
 
 And here are additional parameters supported by the FVH:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="20,15,65",options="header"]
-|===
-|Parameter |Default |Description
-|hl.fragListBuilder |weighted |The snippet fragmenting algorithm. The *weighted* fragListBuilder uses IDF-weights to order fragments. Other options are *single*, which returns the entire field contents as one snippet, or *simple*. You can select a fragListBuilder with this parameter, or modify an existing implementation in `solrconfig.xml` to be the default by adding "default=true".
-|hl.fragmentsBuilder |default |The fragments builder is responsible for formatting the fragments, which uses <em> and </em> markup (if `hl.tag.pre` and `hl.tag.post` are not defined). Another pre-configured choice is *colored*, which is an example of how to use the fragments builder to insert HTML into the snippets for colored highlights if you choose. You can also implement your own if you'd like. You can select a fragments builder with this parameter, or modify an existing implementation in `solrconfig.xml` to be the default by adding "default=true".
-|hl.boundaryScanner | |See <<Using Boundary Scanners with the FastVector Highlighter>> below.
-|hl.bs.* | |See <<Using Boundary Scanners with the FastVector Highlighter>> below.
-|hl.phraseLimit |5000 |The maximum number of phrases to analyze when searching for the highest-scoring phrase.
-|hl.multiValuedSeparatorChar |" " _(space)_ |Text to use to separate one value from the next for a multi-valued field.
-|===
+`hl.fragListBuilder`:: weighted |
+The snippet fragmenting algorithm. The `weighted` fragListBuilder uses IDF-weights to order fragments. This fragListBuilder is the default.
++
+Other options are `single`, which returns the entire field contents as one snippet, or `simple`. You can select a fragListBuilder with this parameter, or modify an existing implementation in `solrconfig.xml` to be the default by adding "default=true".
+
+`hl.fragmentsBuilder`::
+The fragments builder is responsible for formatting the fragments, which uses`<em>` and `</em>` markup by default (if `hl.tag.pre` and `hl.tag.post` are not defined).
++
+Another pre-configured choice is `colored`, which is an example of how to use the fragments builder to insert HTML into the snippets for colored highlights if you choose. You can also implement your own if you'd like. You can select a fragments builder with this parameter, or modify an existing implementation in `solrconfig.xml` to be the default by adding "default=true".
+
+`hl.boundaryScanner`::
+See <<Using Boundary Scanners with the FastVector Highlighter>> below.
+
+`hl.bs.*`::
+See <<Using Boundary Scanners with the FastVector Highlighter>> below.
+
+`hl.phraseLimit`::
+The maximum number of phrases to analyze when searching for the highest-scoring phrase. The default is `5000`.
+
+`hl.multiValuedSeparatorChar`::
+Text to use to separate one value from the next for a multi-valued field. The default is " " (a space).
+
 
 [[Highlighting-UsingBoundaryScannerswiththeFastVectorHighlighter]]
 === Using Boundary Scanners with the FastVector Highlighter

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/93c96b06/solr/solr-ref-guide/src/other-parsers.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/other-parsers.adoc b/solr/solr-ref-guide/src/other-parsers.adoc
index 7032945..271c33b 100644
--- a/solr/solr-ref-guide/src/other-parsers.adoc
+++ b/solr/solr-ref-guide/src/other-parsers.adoc
@@ -178,16 +178,14 @@ The `ComplexPhraseQParser` provides support for wildcards, ORs, etc., inside phr
 
 Under the covers, this query parser makes use of the Span group of queries, e.g., spanNear, spanOr, etc., and is subject to the same limitations as that family or parsers.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+*Parameters*
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|`inOrder` |Set to true to force phrase queries to match terms in the order specified. Default: *true*
-|`df` |The default search field.
-|===
+`inOrder`::
+Set to true to force phrase queries to match terms in the order specified. The default is `true`.
+`df`::
+The default search field.
 
-*Examples:*
+*Examples*
 
 [source,text]
 ----
@@ -284,20 +282,21 @@ Example:
 
 The `FunctionRangeQParser` extends the `QParserPlugin` and creates a range query over a function. This is also referred to as `frange`, as seen in the examples below.
 
-Other parameters:
+*Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`l`::
+The lower bound. This parameter is optional.
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|l |The lower bound, optional
-|u |The upper bound, optional
-|incl |Include the lower bound: true/false, optional, default=true
-|incu |Include the upper bound: true/false, optional, default=true
-|===
+`u`::
+The upper bound. This parameter is optional.
 
-Examples:
+`incl`::
+Include the lower bound. This parameter is optional. The default is `true`.
+
+`incu`::
+Include the upper bound. This parameter is optional. The default is `true`.
+
+*Examples*
 
 [source,text]
 ----
@@ -318,24 +317,30 @@ For more information about range queries over functions, see Yonik Seeley's intr
 
 The `graph` query parser does a breadth first, cyclic aware, graph traversal of all documents that are "reachable" from a starting set of root documents identified by a wrapped query.
 
-The graph is built according to linkages between documents based on the terms found in "```from```" and "```to```" fields that you specify as part of the query
+The graph is built according to linkages between documents based on the terms found in `from` and `to` fields that you specify as part of the query.
 
 [[OtherParsers-Parameters]]
 === Parameters
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`to`::
+The field name of matching documents to inspect to identify outgoing edges for graph traversal. Defaults to `edge_ids`.
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|to |The field name of matching documents to inspect to identify outgoing edges for graph traversal. Defaults to `edge_ids` .
-|from |The field name to of candidate documents to inspect to identify incoming graph edges. Defaults to `node_id` .
-|traversalFilter |An optional query that can be supplied to limit the scope of documents that are traversed.
-|maxDepth |Integer specifying how deep the breadth first search of the graph should go beginning with the initial query. Defaults to -1 (unlimited)
-|returnRoot |Boolean to indicate if the documents that matched the original query (to define the starting points for graph) should be included in the final results. Defaults to true
-|returnOnlyLeaf |Boolean that indicates if the results of the query should be filtered so that only documents with no outgoing edges are returned. Defaults to false
-|useAutn |Boolean that indicates if an Automatons should be compiled for each iteration of the breadth first search, which may be faster for some graphs. Defaults to false.
-|===
+`from`::
+The field name to of candidate documents to inspect to identify incoming graph edges. Defaults to `node_id`.
+
+`traversalFilter`::
+An optional query that can be supplied to limit the scope of documents that are traversed.
+
+`maxDepth`::
+Integer specifying how deep the breadth first search of the graph should go beginning with the initial query. Defaults to `-1` (unlimited).
+
+`returnRoot`::
+Boolean to indicate if the documents that matched the original query (to define the starting points for graph) should be included in the final results. Defaults to `true`.
+
+`returnOnlyLeaf`::
+Boolean that indicates if the results of the query should be filtered so that only documents with no outgoing edges are returned. Defaults to `false`.
+
+`useAutn`:: Boolean that indicates if an Automatons should be compiled for each iteration of the breadth first search, which may be faster for some graphs. Defaults to `false`.
 
 [[OtherParsers-Limitations.1]]
 === Limitations
@@ -590,23 +595,34 @@ Example:
 
 This query parser takes the following parameters:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`qf`::
+Specifies the fields to use for similarity.
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|qf |Specifies the fields to use for similarity.
-|mintf |Specifies the Minimum Term Frequency, the frequency below which terms will be ignored in the source document.
-|mindf |Specifies the Minimum Document Frequency, the frequency at which words will be ignored when they do not occur in at least this many documents.
-|maxdf |Specifies the Maximum Document Frequency, the frequency at which words will be ignored when they occur in more than this many documents.
-|minwl |Sets the minimum word length below which words will be ignored.
-|maxwl |Sets the maximum word length above which words will be ignored.
-|maxqt |Sets the maximum number of query terms that will be included in any generated query.
-|maxntp |Sets the maximum number of tokens to parse in each example document field that is not stored with TermVector support.
-|boost |Specifies if the query will be boosted by the interesting term relevance. It can be either "true" or "false".
-|===
+`mintf`::
+Specifies the Minimum Term Frequency, the frequency below which terms will be ignored in the source document.
 
-Examples:
+`mindf`::
+Specifies the Minimum Document Frequency, the frequency at which words will be ignored when they do not occur in at least this many documents.
+
+`maxdf`::
+Specifies the Maximum Document Frequency, the frequency at which words will be ignored when they occur in more than this many documents.
+
+`minwl`::
+Sets the minimum word length below which words will be ignored.
+
+`maxwl`::
+Sets the maximum word length above which words will be ignored.
+
+`maxqt`::
+Sets the maximum number of query terms that will be included in any generated query.
+
+`maxntp`::
+Sets the maximum number of tokens to parse in each example document field that is not stored with TermVector support.
+
+`boost`::
+Specifies if the query will be boosted by the interesting term relevance. It can be either "true" or "false".
+
+*Examples*
 
 Find documents like the document with id=1 and using the `name` field for similarity.
 
@@ -663,17 +679,16 @@ The main query, for both of these parsers, is parsed straightforwardly from the
 
 This parser accepts the following parameters:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`f`::
+The field to use (required).
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|`f` |Field to use (required)
-|`func` |Payload function: min, max, average (required)
-|`includeSpanScore` |If true, multiples computed payload factor by the score of the original query. If false, the computed payload factor is the score. (default: false)
-|===
+`func`::
+Payload function: min, max, average (required).
 
-Example:
+`includeSpanScore`::
+If `true`, multiples computed payload factor by the score of the original query. If `false`, the default, the computed payload factor is the score.
+
+*Example*
 
 [source,text]
 ----
@@ -687,20 +702,17 @@ Example:
 
 This parser accepts the following parameters:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`f`::
+The field to use (required).
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|`f` |Field to use (required)
-|payloads a|
+`payloads`::
 A space-separated list of payloads that must match the query terms (required)
-
++
 Each specified payload will be encoded using the encoder determined from the field type and encoded accordingly for matching.
-
++
 `DelimitedPayloadTokenFilter` 'identity' encoded payloads also work here, as well as float and integer encoded ones.
 
-|===
+*Example*
 
 [source,text]
 ----
@@ -761,7 +773,7 @@ q.operators::
 Comma-separated list of names of parsing operators to enable. By default, all operations are enabled, and this parameter can be used to effectively disable specific operators as needed, by excluding them from the list. Passing an empty string with this parameter disables all operators.
 +
 // TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
++
 [cols="15,20,50,15",options="header"]
 |===
 |Name |Operator |Description |Example query
@@ -791,7 +803,8 @@ At the end of terms, specifies a fuzzy query.
 q.op::
 Defines the default operator to use if none is defined by the user. Allowed values are `AND` and `OR`. `OR` is used if none is specified.
 
-qf:: A list of query fields and boosts to use when building the query.
+qf::
+A list of query fields and boosts to use when building the query.
 
 df::
 Defines the default field if none is defined in the Schema, or overrides the default field if it is already defined.
@@ -901,23 +914,23 @@ If no analysis or transformation is desired for any type of field, see the <<Oth
 [[OtherParsers-TermsQueryParser]]
 == Terms Query Parser
 
-`TermsQParser`, functions similarly to the <<OtherParsers-TermQueryParser,Term Query Parser>> but takes in multiple values separated by commas and returns documents matching any of the specified values.
+`TermsQParser` functions similarly to the <<OtherParsers-TermQueryParser,Term Query Parser>> but takes in multiple values separated by commas and returns documents matching any of the specified values.
 
-This can be useful for generating filter queries from the external human readable terms returned by the faceting or terms components, and may be more efficient in some cases than using the <<the-standard-query-parser.adoc#the-standard-query-parser,Standard Query Parser>> to generate an boolean query since the default implementation "```method```" avoids scoring.
+This can be useful for generating filter queries from the external human readable terms returned by the faceting or terms components, and may be more efficient in some cases than using the <<the-standard-query-parser.adoc#the-standard-query-parser,Standard Query Parser>> to generate an boolean query since the default implementation `method` avoids scoring.
 
 This query parser takes the following parameters:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`f`::
+The field on which to search. This parameter is required.
 
-[cols="30,70",options="header"]
-|===
-|Parameter |Description
-|f |The field on which to search. Required.
-|separator |Separator to use when parsing the input. If set to " " (a single blank space), will trim additional white space from the input terms. Defaults to "`,`".
-|method |The internal query-building implementation: `termsFilter`, `booleanQuery`, `automaton`, or `docValuesTermsFilter`. Defaults to "```termsFilter```".
-|===
+`separator`::
+Separator to use when parsing the input. If set to " " (a single blank space), will trim additional white space from the input terms. Defaults to  a comma (`,`).
 
-Examples:
+`method`::
+The internal query-building implementation: `termsFilter`, `booleanQuery`, `automaton`, or `docValuesTermsFilter`. Defaults to `termsFilter`.
+
+
+*Examples*
 
 [source,text]
 ----

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/93c96b06/solr/solr-ref-guide/src/query-re-ranking.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/query-re-ranking.adoc b/solr/solr-ref-guide/src/query-re-ranking.adoc
index 0bdc8bb..f05af72 100644
--- a/solr/solr-ref-guide/src/query-re-ranking.adoc
+++ b/solr/solr-ref-guide/src/query-re-ranking.adoc
@@ -43,15 +43,14 @@ Three rank queries are currently included in the Solr distribution. You can also
 
 The `rerank` parser wraps a query specified by an local parameter, along with additional parameters indicating how many documents should be re-ranked, and how the final scores should be computed:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`reRankQuery`::
+The query string for your complex ranking query - in most cases <<local-parameters-in-queries.adoc#local-parameters-in-queries,a variable>> will be used to refer to another request parameter. This parameter is required.
 
-[cols="20,15,65",options="header"]
-|===
-|Parameter |Default |Description
-|`reRankQuery` |(Mandatory) |The query string for your complex ranking query - in most cases <<local-parameters-in-queries.adoc#local-parameters-in-queries,a variable>> will be used to refer to another request parameter.
-|`reRankDocs` |200 |The number of top N documents from the original query that should be re-ranked. This number will be treated as a minimum, and may be increased internally automatically in order to rank enough documents to satisfy the query (ie: start+rows)
-|`reRankWeight` |2.0 |A multiplicative factor that will be applied to the score from the reRankQuery for each of the top matching documents, before that score is added to the original score
-|===
+`reRankDocs`::
+The number of top N documents from the original query that should be re-ranked. This number will be treated as a minimum, and may be increased internally automatically in order to rank enough documents to satisfy the query (i.e., start+rows). The default is `200`.
+
+`reRankWeight`::
+A multiplicative factor that will be applied to the score from the reRankQuery for each of the top matching documents, before that score is added to the original score. The default is `2.0`.
 
 In the example below, the top 1000 documents matching the query "greetings" will be re-ranked using the query "(hi hello hey hiya)". The resulting scores for each of those 1000 documents will be 3 times their score from the "(hi hello hey hiya)", plus the score from the original "greetings" query:
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/93c96b06/solr/solr-ref-guide/src/schema-api.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/schema-api.adoc b/solr/solr-ref-guide/src/schema-api.adoc
index e73da89..893936f 100644
--- a/solr/solr-ref-guide/src/schema-api.adoc
+++ b/solr/solr-ref-guide/src/schema-api.adoc
@@ -1,6 +1,7 @@
 = Schema API
 :page-shortname: schema-api
 :page-permalink: schema-api.html
+:page-tocclass: right
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -51,20 +52,18 @@ The base address for the API is `\http://<host>:<port>/solr/<collection_name>`.
 bin/solr -e cloud -noprompt
 ----
 
-[[SchemaAPI-APIEntryPoints]]
 == API Entry Points
 
-* `/schema`: <<SchemaAPI-RetrievetheEntireSchema,retrieve>> the schema, or <<SchemaAPI-ModifytheSchema,modify>> the schema to add, remove, or replace fields, dynamic fields, copy fields, or field types
-* `/schema/fields`: <<SchemaAPI-ListFields,retrieve information>> about all defined fields or a specific named field
-* `/schema/dynamicfields`: <<SchemaAPI-ListDynamicFields,retrieve information>> about all dynamic field rules or a specific named dynamic rule
-* `/schema/fieldtypes`: <<SchemaAPI-ListFieldTypes,retrieve information>> about all field types or a specific field type
-* `/schema/copyfields`: <<SchemaAPI-ListCopyFields,retrieve information>> about copy fields
-* `/schema/name`: <<SchemaAPI-ShowSchemaName,retrieve>> the schema name
-* `/schema/version`: <<SchemaAPI-ShowtheSchemaVersion,retrieve>> the schema version
-* `/schema/uniquekey`: <<SchemaAPI-ListUniqueKey,retrieve>> the defined uniqueKey
-* `/schema/similarity`: <<SchemaAPI-ShowGlobalSimilarity,retrieve>> the global similarity definition
-
-[[SchemaAPI-ModifytheSchema]]
+* `/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
 
 `POST /_collection_/schema`
@@ -89,7 +88,6 @@ In each case, the response will include the status and the time to process the r
 
 When modifying the schema with the API, a core reload will automatically occur in order for the changes to be available immediately for documents indexed thereafter. Previously indexed documents will *not* be automatically handled - they *must* be re-indexed if they used schema elements that you changed.
 
-[[SchemaAPI-AddaNewField]]
 === Add a New Field
 
 The `add-field` command adds a new field definition to your schema. If a field with the same name exists an error is thrown.
@@ -108,7 +106,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-DeleteaField]]
 === Delete a Field
 
 The `delete-field` command removes a field definition from your schema. If the field does not exist in the schema, or if the field is the source or destination of a copy field rule, an error is thrown.
@@ -122,7 +119,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-ReplaceaField]]
 === Replace a Field
 
 The `replace-field` command replaces a field's definition. Note that you must supply the full definition for a field - this command will *not* partially modify a field's definition. If the field does not exist in the schema an error is thrown.
@@ -141,7 +137,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-AddaDynamicFieldRule]]
 === Add a Dynamic Field Rule
 
 The `add-dynamic-field` command adds a new dynamic field rule to your schema.
@@ -160,7 +155,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-DeleteaDynamicFieldRule]]
 === Delete a Dynamic Field Rule
 
 The `delete-dynamic-field` command deletes a dynamic field rule from your schema. If the dynamic field rule does not exist in the schema, or if the schema contains a copy field rule with a target or destination that matches only this dynamic field rule, an error is thrown.
@@ -174,7 +168,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-ReplaceaDynamicFieldRule]]
 === Replace a Dynamic Field Rule
 
 The `replace-dynamic-field` command replaces a dynamic field rule in your schema. Note that you must supply the full definition for a dynamic field rule - this command will *not* partially modify a dynamic field rule's definition. If the dynamic field rule does not exist in the schema an error is thrown.
@@ -193,7 +186,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-AddaNewFieldType]]
 === Add a New Field Type
 
 The `add-field-type` command adds a new field type to your schema.
@@ -240,7 +232,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-DeleteaFieldType]]
 === Delete a Field Type
 
 The `delete-field-type` command removes a field type from your schema. If the field type does not exist in the schema, or if any field or dynamic field rule in the schema uses the field type, an error is thrown.
@@ -254,7 +245,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-ReplaceaFieldType]]
 === Replace a Field Type
 
 The `replace-field-type` command replaces a field type in your schema. Note that you must supply the full definition for a field type - this command will *not* partially modify a field type's definition. If the field type does not exist in the schema an error is thrown.
@@ -276,22 +266,21 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-AddaNewCopyFieldRule]]
 === Add a New Copy Field Rule
 
 The `add-copy-field` command adds a new copy field rule to your schema.
 
 The attributes supported by the command are the same as when creating copy field rules by manually editing the `schema.xml`, as below:
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`source`::
+The source field. This parameter is required.
+
+`dest`::
+A field or an array of fields to which the source field will be copied. This parameter is required.
+
+`maxChars`::
+The upper limit for the number of characters to be copied. The section <<copying-fields.adoc#copying-fields,Copying Fields>> has more details.
 
-[cols="20,20,60",options="header"]
-|===
-|Name |Required |Description
-|source |Yes |The source field.
-|dest |Yes |A field or an array of fields to which the source field will be copied.
-|maxChars |No |The upper limit for the number of characters to be copied. The section <<copying-fields.adoc#copying-fields,Copying Fields>> has more details.
-|===
 
 For example, to define a rule to copy the field "shelf" to the "location" and "catchall" fields, you would POST the following request:
 
@@ -304,7 +293,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-DeleteaCopyFieldRule]]
 === Delete a Copy Field Rule
 
 The `delete-copy-field` command deletes a copy field rule from your schema. If the copy field rule does not exist in the schema an error is thrown.
@@ -320,7 +308,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-MultipleCommandsinaSinglePOST]]
 === Multiple Commands in a Single POST
 
 It is possible to perform one or more add requests in a single command. The API is transactional and all commands in a single call either succeed or fail together.
@@ -387,7 +374,6 @@ curl -X POST -H 'Content-type:application/json' --data-binary '{
 }' http://localhost:8983/solr/gettingstarted/schema
 ----
 
-[[SchemaAPI-SchemaChangesamongReplicas]]
 === Schema Changes among Replicas
 
 When running in SolrCloud mode, changes made to the schema on one node will propagate to all replicas in the collection.
@@ -398,51 +384,39 @@ If agreement is not reached by all replicas in the specified time, then the requ
 
 If you do not supply an `updateTimeoutSecs` parameter, the default behavior is for the receiving node to return immediately after persisting the updates to ZooKeeper. All other replicas will apply the updates asynchronously. Consequently, without supplying a timeout, your client application cannot be sure that all replicas have applied the changes.
 
-[[SchemaAPI-RetrieveSchemaInformation]]
 == Retrieve Schema Information
 
 The following endpoints allow you to read how your schema has been defined. You can GET the entire schema, or only portions of it as needed.
 
-To modify the schema, see the previous section <<SchemaAPI-ModifytheSchema,Modify the Schema>>.
+To modify the schema, see the previous section <<Modify the Schema>>.
 
-[[SchemaAPI-RetrievetheEntireSchema]]
 === Retrieve the Entire Schema
 
 `GET /_collection_/schema`
 
-[[SchemaAPI-INPUT]]
-==== INPUT
+==== Retrieve Schema Parameters
 
 *Path Parameters*
 
-
-[options="header",]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
+`collection`::
+The collection (or core) name.
 
 *Query Parameters*
 
 The query parameters should be added to the API request after '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="10,20,10,10,50",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json*, *xml* or *schema.xml*. If not specified, JSON will be returned by default.
-|===
+`wt`::
+Defines the format of the response. The options are *json*, *xml* or *schema.xml*. If not specified, JSON will be returned by default.
 
 [[SchemaAPI-OUTPUT]]
-==== OUTPUT
+==== Retrieve Schema Response
 
 *Output Content*
 
 The output will include all fields, field types, dynamic rules and copy field rules, in the format requested (JSON or XML). The schema name and version are also included.
 
 [[SchemaAPI-EXAMPLES]]
-==== EXAMPLES
+==== Retrieve Schema Examples
 
 Get the entire schema in JSON.
 
@@ -589,52 +563,49 @@ curl http://localhost:8983/solr/gettingstarted/schema?wt=schema.xml
 </schema>
 ----
 
-
-[[SchemaAPI-ListFields]]
 === List Fields
 
 `GET /_collection_/schema/fields`
 
 `GET /_collection_/schema/fields/_fieldname_`
 
-[[SchemaAPI-INPUT.1]]
-==== INPUT
+==== List Fields Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`collection`::
+The collection (or core) name.
 
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|fieldname |The specific fieldname (if limiting request to a single field).
-|===
+`fieldname`::
+The specific fieldname (if limiting the request to a single field).
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[cols="20,15,10,15,40",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|fl |string |No |(all fields) |Comma- or space-separated list of one or more fields to return. If not specified, all fields will be returned by default.
-|includeDynamic |boolean |No |false |If *true*, and if the *fl* query parameter is specified or the *fieldname* path parameter is used, matching dynamic fields are included in the response and identified with the *dynamicBase* property. If neither the *fl* query parameter nor the *fieldname* path parameter is specified, the *includeDynamic* query parameter is ignored. If *false*, matching dynamic fields will not be returned.
-|showDefaults |boolean |No |false |If *true*, all default field properties from each field's field type will be included in the response (e.g. *tokenized* for `solr.TextField`). If *false*, only explicitly specified field properties will be included.
-|===
+`fl`::
+Comma- or space-separated list of one or more fields to return. If not specified, all fields will be returned by default.
 
-[[SchemaAPI-OUTPUT.1]]
-==== OUTPUT
+`includeDynamic`::
+If `true`, and if the `fl` query parameter is specified or the `fieldname` path parameter is used, matching dynamic fields are included in the response and identified with the `dynamicBase` property.
++
+If neither the `fl` query parameter nor the `fieldname` path parameter is specified, the `includeDynamic` query parameter is ignored.
++
+If `false`, the default, matching dynamic fields will not be returned.
 
-*Output Content*
+`showDefaults`::
+If `true`, all default field properties from each field's field type will be included in the response (e.g. `tokenized` for `solr.TextField`). If `false`, the default, only explicitly specified field properties will be included.
+
+==== List Fields Response
+
+The output will include each field and any defined configuration for each field. The defined configuration can vary for each field, but will minimally include the field `name`, the `type`, if it is `indexed` and if it is `stored`.
 
-The output will include each field and any defined configuration for each field. The defined configuration can vary for each field, but will minimally include the field `name`, the `type`, if it is `indexed` and if it is `stored`. If `multiValued` is defined as either true or false (most likely true), that will also be shown. See the section <<defining-fields.adoc#defining-fields,Defining Fields>> for more information about each parameter.
+If `multiValued` is defined as either true or false (most likely true), that will also be shown. See the section <<defining-fields.adoc#defining-fields,Defining Fields>> for more information about each parameter.
 
-[[SchemaAPI-EXAMPLES.1]]
-==== EXAMPLES
+==== List Fields Examples
 
 Get a list of all fields.
 
@@ -677,48 +648,37 @@ The sample output below has been truncated to only show a few fields.
 }
 ----
 
-
-[[SchemaAPI-ListDynamicFields]]
 === List Dynamic Fields
 
 `GET /_collection_/schema/dynamicfields`
 
 `GET /_collection_/schema/dynamicfields/_name_`
 
-[[SchemaAPI-INPUT.2]]
-==== INPUT
+==== List Dynamic Field Parameters
 
 *Path Parameters*
 
-[options="header",]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|name |The name of the dynamic field rule (if limiting request to a single dynamic field rule).
-|===
+`collection`::
+The collection (or core) name.
+
+`name`::
+The name of the dynamic field rule (if limiting request to a single dynamic field rule).
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json,* *xml*. If not specified, JSON will be returned by default.
-|showDefaults |boolean |No |false |If *true*, all default field properties from each dynamic field's field type will be included in the response (e.g. *tokenized* for `solr.TextField`). If *false*, only explicitly specified field properties will be included.
-|===
+`showDefaults`::
+If `true`, all default field properties from each dynamic field's field type will be included in the response (e.g. `tokenized` for `solr.TextField`). If `false`, the default, only explicitly specified field properties will be included.
 
-[[SchemaAPI-OUTPUT.2]]
-==== OUTPUT
-
-*Output Content*
+==== List Dynamic Field Response
 
 The output will include each dynamic field rule and the defined configuration for each rule. The defined configuration can vary for each rule, but will minimally include the dynamic field `name`, the `type`, if it is `indexed` and if it is `stored`. See the section <<dynamic-fields.adoc#dynamic-fields,Dynamic Fields>> for more information about each parameter.
 
-[[SchemaAPI-EXAMPLES.2]]
-==== EXAMPLES
+==== List Dynamic Field Examples
 
 Get a list of all dynamic field declarations:
 
@@ -771,49 +731,37 @@ The sample output below has been truncated.
 }
 ----
 
-[[SchemaAPI-ListFieldTypes]]
 === List Field Types
 
 `GET /_collection_/schema/fieldtypes`
 
 `GET /_collection_/schema/fieldtypes/_name_`
 
-[[SchemaAPI-INPUT.3]]
-==== INPUT
+==== List Field Type Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`collection`::
+The collection (or core) name.
 
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|name |The name of the field type (if limiting request to a single field type).
-|===
+`name`::
+The name of the field type (if limiting request to a single field type).
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|showDefaults |boolean |No |false |If *true*, all default field properties from each field type will be included in the response (e.g. *tokenized* for `solr.TextField`). If *false*, only explicitly specified field properties will be included.
-|===
+`showDefaults`::
+If `true`, all default field properties from each dynamic field's field type will be included in the response (e.g. `tokenized` for `solr.TextField`). If `false`, the default, only explicitly specified field properties will be included.
 
-[[SchemaAPI-OUTPUT.3]]
-==== OUTPUT
-
-*Output Content*
+==== List Field Type Response
 
 The output will include each field type and any defined configuration for the type. The defined configuration can vary for each type, but will minimally include the field type `name` and the `class`. If query or index analyzers, tokenizers, or filters are defined, those will also be shown with other defined parameters. See the section <<solr-field-types.adoc#solr-field-types,Solr Field Types>> for more information about how to configure various types of fields.
 
-[[SchemaAPI-EXAMPLES.3]]
-==== EXAMPLES
+==== List Field Type Examples
 
 Get a list of all field types.
 
@@ -873,49 +821,37 @@ The sample output below has been truncated to show a few different field types f
 }
 ----
 
-[[SchemaAPI-ListCopyFields]]
 === List Copy Fields
 
 `GET /_collection_/schema/copyfields`
 
-[[SchemaAPI-INPUT.4]]
-==== INPUT
+==== List Copy Field Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
+`collection`::
+The collection (or core) name.
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|source.fl |string |No |(all source fields) |Comma- or space-separated list of one or more copyField source fields to include in the response - copyField directives with all other source fields will be excluded from the response. If not specified, all copyField-s will be included in the response.
-|dest.fl |string |No |(all dest fields) |Comma- or space-separated list of one or more copyField dest fields to include in the response - copyField directives with all other dest fields will be excluded. If not specified, all copyField-s will be included in the response.
-|===
+`source.fl`::
+Comma- or space-separated list of one or more copyField source fields to include in the response - copyField directives with all other source fields will be excluded from the response. If not specified, all copyField-s will be included in the response.
 
-[[SchemaAPI-OUTPUT.4]]
-==== OUTPUT
+`dest.fl`::
+Comma- or space-separated list of one or more copyField destination fields to include in the response. copyField directives with all other `dest` fields will be excluded. If not specified, all copyField-s will be included in the response.
 
-*Output Content*
+==== List Copy Field Response
 
-The output will include the `source` and `dest`ination of each copy field rule defined in `schema.xml`. For more information about copying fields, see the section <<copying-fields.adoc#copying-fields,Copying Fields>>.
+The output will include the `source` and `dest` (destination) of each copy field rule defined in `schema.xml`. For more information about copying fields, see the section <<copying-fields.adoc#copying-fields,Copying Fields>>.
 
-[[SchemaAPI-EXAMPLES.4]]
-==== EXAMPLES
+==== List Copy Field Examples
 
-Get a list of all copyfields.
+Get a list of all copyFields.
 
 [source,bash]
 ----
@@ -952,44 +888,29 @@ The sample output below has been truncated to the first few copy definitions.
 }
 ----
 
-
-[[SchemaAPI-ShowSchemaName]]
 === Show Schema Name
 
 `GET /_collection_/schema/name`
 
-[[SchemaAPI-INPUT.5]]
-==== INPUT
+==== Show Schema Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
+`collection`::
+The collection (or core) name.
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|===
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[[SchemaAPI-OUTPUT.5]]
-==== OUTPUT
+==== Show Schema Response
 
-*Output Content* The output will be simply the name given to the schema.
+The output will be simply the name given to the schema.
 
-[[SchemaAPI-EXAMPLES.5]]
-==== EXAMPLES
+==== Show Schema Examples
 
 Get the schema name.
 
@@ -1007,46 +928,29 @@ curl http://localhost:8983/solr/gettingstarted/schema/name?wt=json
   "name":"example"}
 ----
 
-
-[[SchemaAPI-ShowtheSchemaVersion]]
 === Show the Schema Version
 
 `GET /_collection_/schema/version`
 
-[[SchemaAPI-INPUT.6]]
-==== INPUT
+==== Show Schema Version Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
+collection::
+The collection (or core) name.
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|===
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[[SchemaAPI-OUTPUT.6]]
-==== OUTPUT
-
-*Output Content*
+==== Show Schema Version Response
 
 The output will simply be the schema version in use.
 
-[[SchemaAPI-EXAMPLES.6]]
-==== EXAMPLES
+==== Show Schema Version Example
 
 Get the schema version
 
@@ -1064,46 +968,30 @@ curl http://localhost:8983/solr/gettingstarted/schema/version?wt=json
   "version":1.5}
 ----
 
-
-[[SchemaAPI-ListUniqueKey]]
 === List UniqueKey
 
 `GET /_collection_/schema/uniquekey`
 
-[[SchemaAPI-INPUT.7]]
-==== INPUT
+==== List UniqueKey Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+|`collection`::
+The collection (or core) name.
 
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|===
+|`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[[SchemaAPI-OUTPUT.7]]
-==== OUTPUT
-
-*Output Content*
+==== List UniqueKey Response
 
 The output will include simply the field name that is defined as the uniqueKey for the index.
 
-[[SchemaAPI-EXAMPLES.7]]
-==== EXAMPLES
+==== List UniqueKey Example
 
 List the uniqueKey.
 
@@ -1121,46 +1009,29 @@ curl http://localhost:8983/solr/gettingstarted/schema/uniquekey?wt=json
   "uniqueKey":"id"}
 ----
 
-
-[[SchemaAPI-ShowGlobalSimilarity]]
 === Show Global Similarity
 
 `GET /_collection_/schema/similarity`
 
-[[SchemaAPI-INPUT.8]]
-==== INPUT
+==== Show Global Similarity Parameters
 
 *Path Parameters*
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
-
-[cols="30,70",options="header"]
-|===
-|Key |Description
-|collection |The collection (or core) name.
-|===
+`collection`::
+The collection (or core) name.
 
 *Query Parameters*
 
 The query parameters can be added to the API request after a '?'.
 
-// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+`wt`::
+Defines the format of the response. The options are `json` or `xml`. If not specified, JSON will be returned by default.
 
-[cols="15,10,10,10,55",options="header"]
-|===
-|Key |Type |Required |Default |Description
-|wt |string |No |json |Defines the format of the response. The options are *json* or *xml*. If not specified, JSON will be returned by default.
-|===
-
-[[SchemaAPI-OUTPUT.8]]
-==== OUTPUT
-
-*Output Content*
+==== Show Global Similary Response
 
 The output will include the class name of the global similarity defined (if any).
 
-[[SchemaAPI-EXAMPLES.8]]
-==== EXAMPLES
+==== Show Global Similarity Example
 
 Get the similarity implementation.
 
@@ -1179,8 +1050,6 @@ curl http://localhost:8983/solr/gettingstarted/schema/similarity?wt=json
     "class":"org.apache.solr.search.similarities.DefaultSimilarityFactory"}}
 ----
 
-
-[[SchemaAPI-ManageResourceData]]
 == Manage Resource Data
 
 The <<managed-resources.adoc#managed-resources,Managed Resources>> REST API provides a mechanism for any Solr plugin to expose resources that should support CRUD (Create, Read, Update, Delete) operations. Depending on what Field Types and Analyzers are configured in your Schema, additional `/schema/` REST API paths may exist. See the <<managed-resources.adoc#managed-resources,Managed Resources>> section for more information and examples.