You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2017/05/10 21:42:54 UTC

[33/50] [abbrv] lucene-solr:master: squash merge jira/solr-10290 into master

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/hadoop-authentication-plugin.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/hadoop-authentication-plugin.adoc b/solr/solr-ref-guide/src/hadoop-authentication-plugin.adoc
new file mode 100644
index 0000000..cbbb3a1
--- /dev/null
+++ b/solr/solr-ref-guide/src/hadoop-authentication-plugin.adoc
@@ -0,0 +1,116 @@
+= Hadoop Authentication Plugin
+:page-shortname: hadoop-authentication-plugin
+:page-permalink: hadoop-authentication-plugin.html
+
+The Hadoop authentication plugin enables Solr to use the https://hadoop.apache.org/docs/stable/hadoop-auth/index.html[Hadoop authentication library] for securing Solr nodes.
+
+This authentication plugin is a thin wrapper that delegates all functionality to the Hadoop authentication library. All configuration parameters for the library are passed through the plugin.
+
+This plugin can be particularly useful in leveraging an extended set of features or newly available features in the Hadoop authentication library.
+
+Please note that the version of Hadoop library used by Solr is upgraded periodically. While Solr will ensure the stability and backwards compatibility of the structure of the plugin configuration (viz., the parameter names of this plugin), the values of these parameters may change based on the version of Hadoop library. Please review the Hadoop documentation for the version used by your Solr installation for more details.
+
+For some of the authentication schemes (e.g., Kerberos), Solr provides a native implementation of authentication plugin. If you require a more stable setup, in terms of configuration, ability to perform rolling upgrades, backward compatibility, etc., you should consider using such plugin. Please review the section <<authentication-and-authorization-plugins.adoc#authentication-and-authorization-plugins,Authentication and Authorization Plugins>> for an overview of authentication plugin options in Solr.
+
+There are two plugin classes:
+
+* `HadoopAuthPlugin`: This can be used with standalone Solr as well as Solrcloud with <<authentication-and-authorization-plugins.adoc#AuthenticationandAuthorizationPlugins-PKI,PKI authentication>> for internode communication.
+* `ConfigurableInternodeAuthHadoopPlugin`: This is an extension of HadoopAuthPlugin that allows you to configure the authentication scheme for internode communication.
+
+[TIP]
+====
+For most SolrCloud or standalone Solr setups, the `HadoopAuthPlugin` should suffice.
+====
+
+[[HadoopAuthenticationPlugin-PluginConfiguration]]
+== Plugin Configuration
+
+// 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 Name |Required |Description
+|class |Yes |Should be either `solr.HadoopAuthPlugin` or `solr.ConfigurableInternodeAuthHadoopPlugin`.
+|type |Yes |The type of authentication scheme to be configured. See https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[configuration] options.
+|sysPropPrefix |Yes |The prefix to be used to define the Java system property for configuring the authentication mechanism. The name of the Java system property is defined by appending the configuration parameter name to this prefix value. For example, if the prefix is 'solr' then the Java system property 'solr.kerberos.principal' defines the value of configuration parameter 'kerberos.principal'.
+|authConfigs |Yes |Configuration parameters required by the authentication scheme defined by the type property. For more details, see https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[Hadoop configuration] options.
+|defaultConfigs |No |Default values for the configuration parameters specified by the `authConfigs` property. The default values are specified as a collection of key-value pairs (i.e., `property-name:default_value`).
+|enableDelegationToken |No |Enable (or disable) the delegation tokens functionality.
+|initKerberosZk |No |For enabling initialization of kerberos before connecting to Zookeeper (if applicable).
+|proxyUserConfigs |No |Configures proxy users for the underlying Hadoop authentication mechanism. This configuration is expressed as a collection of key-value pairs (i.e., `property-name:value`).
+|clientBuilderFactory |No |The `HttpClientBuilderFactory` implementation used for the Solr internal communication. Only applicable for `ConfigurableInternodeAuthHadoopPlugin`.
+|===
+
+[[HadoopAuthenticationPlugin-ExampleConfigurations]]
+== Example Configurations
+
+[[HadoopAuthenticationPlugin-KerberosAuthenticationusingHadoopAuthenticationPlugin]]
+=== Kerberos Authentication using Hadoop Authentication Plugin
+
+This example lets you configure Solr to use Kerberos Authentication, similar to how you would use the <<kerberos-authentication-plugin.adoc#kerberos-authentication-plugin,Kerberos Authentication Plugin>>.
+
+After consulting the Hadoop authentication library's documentation, you can supply per host configuration parameters using the `solr.*` prefix. As an example, the Hadoop authentication library expects a parameter `kerberos.principal`, which can be supplied as a system property named `solr.kerberos.principal` when starting a Solr node. Refer to the section <<kerberos-authentication-plugin.adoc#kerberos-authentication-plugin,Kerberos Authentication Plugin>> for other typical configuration parameters.
+
+Please note that this example uses `ConfigurableInternodeAuthHadoopPlugin`, and hence you must provide the `clientBuilderFactory` implementation. As a result, all internode communication will use the Kerberos mechanism, instead of PKI authentication.
+
+To setup this plugin, use the following in your `security.json` file.
+
+[source,json]
+----
+{
+    "authentication": {
+        "class": "solr.ConfigurableInternodeAuthHadoopPlugin",
+        "sysPropPrefix": "solr.",
+        "type": "kerberos",
+        "clientBuilderFactory": "org.apache.solr.client.solrj.impl.Krb5HttpClientBuilder",
+        "initKerberosZk": "true",
+        "authConfigs": [
+            "kerberos.principal",
+            "kerberos.keytab",
+            "kerberos.name.rules"
+        ],
+        "defaultConfigs": {
+        }
+    }
+}
+----
+
+[[HadoopAuthenticationPlugin-SimpleAuthenticationwithDelegationTokens]]
+=== Simple Authentication with Delegation Tokens
+
+Similar to the previous example, this is an example of setting up a Solr cluster that uses delegation tokens. Refer to the parameters in the Hadoop authentication library's https://hadoop.apache.org/docs/stable/hadoop-auth/Configuration.html[documentation] or refer to the section <<kerberos-authentication-plugin.adoc#kerberos-authentication-plugin,Kerberos Authentication Plugin>> for further details. Please note that this example does not use Kerberos and the requests made to Solr must contain valid delegation tokens.
+
+To setup this plugin, use the following in your `security.json` file.
+
+[source,json]
+----
+{
+    "authentication": {
+        "class": "solr.HadoopAuthPlugin",
+        "sysPropPrefix": "solr.",
+        "type": "simple",
+        "enableDelegationToken":"true",
+        "authConfigs": [
+            "delegation-token.token-kind",
+            "delegation-token.update-interval.sec",
+            "delegation-token.max-lifetime.sec",
+            "delegation-token.renewal-interval.sec",
+            "delegation-token.removal-scan-interval.sec",
+            "cookie.domain",
+            "signer.secret.provider",
+            "zk-dt-secret-manager.enable",
+            "zk-dt-secret-manager.znodeWorkingPath",
+            "signer.secret.provider.zookeeper.path"
+        ],
+        "defaultConfigs": {
+            "delegation-token.token-kind": "solr-dt",
+            "signer.secret.provider": "zookeeper",
+            "zk-dt-secret-manager.enable": "true",
+            "token.validity": "36000",
+            "zk-dt-secret-manager.znodeWorkingPath": "solr/security/zkdtsm",
+            "signer.secret.provider.zookeeper.path": "/token",
+            "cookie.domain": "127.0.0.1"
+        }
+    }
+}
+----

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/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
new file mode 100644
index 0000000..b0e0cb2
--- /dev/null
+++ b/solr/solr-ref-guide/src/highlighting.adoc
@@ -0,0 +1,293 @@
+= Highlighting
+:page-shortname: highlighting
+:page-permalink: highlighting.html
+
+Highlighting in Solr allows fragments of documents that match the user's query to be included with the query response.
+
+The fragments are included in a special section of the query response (the `highlighting` section), and the client uses the formatting clues also included to determine how to present the snippets to users. Fragments are a portion of a document field that contains matches from the query and are sometimes also referred to as "snippets" or "passages".
+
+Highlighting is extremely configurable, perhaps more than any other part of Solr. There are many parameters each for fragment sizing, formatting, ordering, backup/alternate behavior, and more options that are hard to categorize. Nonetheless, highlighting is very simple to use.
+
+[[Highlighting-Usage]]
+== Usage
+
+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`, and `postings`. 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>>.
+|===
+
+There are more parameters supported as well depending on the highlighter (via `hl.method`) chosen.
+
+[[Highlighting-HighlightingintheQueryResponse]]
+=== Highlighting in the Query Response
+
+In the response to a query, Solr includes highlighting data in a section separate from the documents. It is up to a client to determine how to process this response and display the highlights to users.
+
+Using the example documents included with Solr, we can see how this might work:
+
+In response to a query such as:
+
+[source,text]
+http://localhost:8983/solr/gettingstarted/select?hl=on&q=apple&wt=json&hl.fl=manu&fl=id,name,manu,cat
+
+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."
+            ]
+        }
+    }
+}
+----
+
+Note the two sections `docs` and `highlighting`. The `docs` section contains the fields of the document requested with the `fl` parameter of the query (only "id", "name", "manu", and "cat").
+
+The `highlighting` section includes the ID of each document, and the field that contains the highlighted portion. In this example, we used the `hl.fl` parameter to say we wanted query terms highlighted in the "manu" field. When there is a match to the query term in that field, it will be included for each document ID in the list.
+
+[[Highlighting-ChoosingaHighlighter]]
+== Choosing a Highlighter
+
+Solr provides a `HighlightComponent` (a `SearchComponent`) and it's in the default list of components for search handlers. It offers a somewhat unified API over multiple actual highlighting implementations (or simply "highlighters") that do the business of highlighting.
+
+There are many parameters supported by more than one highlighter, and sometimes the implementation details and semantics will be a bit different, so don't expect identical results when switching highlighters. You should use the `hl.method` parameter to choose a highlighter but it's also possible to explicitly configure an implementation by class name in `solrconfig.xml`.
+
+There are four highlighters available that can be chosen at runtime with the `hl.method` parameter, in order of general recommendation:
+
+<<The Unified Highlighter,Unified Highlighter>>:: (`hl.method=unified`)
++
+The Unified Highlighter is the newest highlighter (as of Solr 6.4), which stands out as the most flexible and performant of the options. We recommend that you try this highlighter even though it isn't the default (yet).
++
+This highlighter supports the most common highlighting parameters and can handle just about any query accurately, even SpanQueries (e.g. as seen from the `surround` parser). A strong benefit to this highlighter is that you can opt to configure Solr to put more information in the underlying index to speed up highlighting of large documents; multiple configurations are supported, even on a per-field basis. There is little or no such flexibility for the other highlighters. More on this below.
+
+<<The Original Highlighter,Original Highlighter>>:: (`hl.method=original`, the default)
++
+The Original Highlighter, sometimes called the "Standard Highlighter" or "Default Highlighter", is Lucene's original highlighter – a venerable option with a high degree of customization options. Its ability to highlight just about any query accurately is a strength shared with the Unified Highlighter (they share some code for this in fact).
++
+The Original Highlighter will normally analyze stored text on the fly in order to highlight. It will use full term vectors if available, however in this mode it isn't as fast as the Unified Highlighter or FastVector Highlighter.
++
+This highlighter is a good choice for a wide variety of search use-cases. Where it falls short is performance; it's often twice as slow as the Unified Highlighter. And despite being the most customizable, it doesn't have a BreakIterator based fragmenter (all the others do), which could pose a challenge for some languages.
+
+<<The FastVector Highlighter,FastVector Highlighter>>:: (`hl.method=fastVector`)
++
+The FastVector Highlighter _requires_ full term vector options (`termVectors`, `termPositions`, and `termOffsets`) on the field, and is optimized with that in mind. It is nearly as configurable as the Original Highlighter with some variability.
++
+This highlighter notably supports multi-colored highlighting such that different query words can be denoted in the fragment with different marking, usually expressed as an HTML tag with a unique color.
++
+This highlighter's query-representation is less advanced than the Original or Unified Highlighters: for example it will not work well with the `surround` parser, and there are multiple reported bugs pertaining to queries with stop-words.
++
+Note that both the FastVector and Original Highlighters can be used in conjunction in a search request to highlight some fields with one and some the other. In contrast, the other highlighters can only be chosen exclusively.
+
+<<Highlighting-ThePostingsHighlighter,Postings Highlighter>>:: (`hl.method=postings`)
++
+The Postings Highlighter is the ancestor of the Unified Highlighter, supporting a subset of its options and none of its index configuration flexibility - it _requires_ `storeOffsetsWithPositions` on all fields to highlight. This option is here for backwards compatibility; if you find you need it, please share your experience with the Solr community.
+
+The Unified Highlighter and Postings Highlighter from which it derives, are exclusively configured via search parameters. In contrast, some settings for the Original and FastVector Highlighters are set in `solrconfig.xml`. There's a robust example of the latter in the "```techproducts```" configset.
+
+In addition to further information below, more information can be found in the {solr-javadocs}/solr-core/org/apache/solr/highlight/package-summary.html[Solr javadocs].
+
+[[Highlighting-SchemaOptionsandPerformanceConsiderations]]
+=== Schema Options and Performance Considerations
+
+Fundamental to the internals of highlighting are detecting the _offsets_ of the individual words that match the query. Some of the highlighters can run the stored text through the analysis chain defined in the schema, some can look them up from _postings_, and some can look them up from _term vectors._ These choices have different trade-offs:
+
+* *Analysis*: Supported by the Unified and Original Highlighters. If you don't go out of your way to configure the other options below, the highlighter will analyze the stored text on the fly (during highlighting) to calculate offsets.
++
+The benefit of this approach is that your index won't grow larger with any extra data that isn't strictly necessary for highlighting.
++
+The down side is that highlighting speed is roughly linear with the amount of text to process, with a large factor being the complexity of your analysis chain.
++
+For "short" text, this is a good choice. Or maybe it's not short but you're prioritizing a smaller index and indexing speed over highlighting performance.
+* *Postings*: Supported by the Unified and Postings Highlighters. Set `storeOffsetsWithPositions` to `true`. This adds a moderate amount of extra data to the index but it speeds up highlighting tremendously, especially compared to analysis with longer text fields.
++
+However, wildcard queries will fall back to analysis unless "light" term vectors are added.
+
+** *with Term Vectors (light)*: Supported only by the Unified Highlighter. To enable this mode set `termVectors` to `true` but no other term vector related options on the field being highlighted.
++
+This adds even more data to the index than just `storeOffsetsWithPositions` but not as much as enabling all the extra term vector options. Term Vectors are only accessed by the highlighter when a wildcard query is used and will prevent a fall back to analysis of the stored text.
++
+This is definitely the fastest option for highlighting wildcard queries on large text fields.
+* *Term Vectors (full)*: Supported by the Unified, FastVector, and Original Highlighters. Set `termVectors`, `termPositions`, and `termOffsets` to `true`, and potentially `termPayloads` for advanced use cases.
++
+This adds substantial weight to the index – similar in size to the compressed stored text. If you are using the Unified Highlighter then this is not a recommended configuration since it's slower and heavier than postings with light term vectors. However, this could make sense if full term vectors are already needed for another use-case.
+
+[[Highlighting-TheUnifiedHighlighter]]
+== The Unified Highlighter
+
+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.
+|===
+
+[[Highlighting-ThePostingsHighlighter]]
+=== The Postings Highlighter
+
+The Postings Highlighter is the ancestor of the Unified Highlighter, supporting a subset of it's options and sometimes with different default settings for some common parameters.
+
+Viewed from the perspective of the Unified Highlighter, these settings are effectively non-settings and fixed as-such:
+
+* `hl.offsetSource=POSTINGS`
+* `hl.requireFieldMatch=true`
+* `hl.usePhraseHighlighter=false`
+* `hl.fragsize=-1` (none).
+
+It has these different default settings:
+
+* `hl.defaultSummary=true`
+* `hl.tag.ellipsis="... "`.
+
+In addition, it has a setting `hl.multiValuedSeparatorChar=" "` (space).
+
+This highlighter never returns separate snippets as separate values; they are always joined by `hl.tag.ellipsis`.
+
+[[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.
+|===
+
+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.`
+
+[[Highlighting-TheFastVectorHighlighter]]
+== The FastVector Highlighter
+
+The FastVector Highlighter (FVH) can be used in conjunction with the Original Highlighter if not all fields should be highlighted with the FVH. In such a mode, set `hl.method=original` and `f.yourTermVecField.hl.method=fastVector` for all fields that should use the FVH. One annoyance to keep in mind is that the Original Highlighter uses `hl.simple.pre` whereas the FVH (and other highlighters) use `hl.tag.pre`.
+
+In addition to the initial listed parameters, the following parameters documented for the Original Highlighter above are also supported by the FVH:
+
+* `hl.alternateField`
+* `hl.maxAlternateFieldLength`
+* `hl.highlightAlternate`
+
+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.
+|===
+
+[[Highlighting-UsingBoundaryScannerswiththeFastVectorHighlighter]]
+=== Using Boundary Scanners with the FastVector Highlighter
+
+The FastVector Highlighter will occasionally truncate highlighted words. To prevent this, implement a boundary scanner in `solrconfig.xml`, then use the `hl.boundaryScanner` parameter to specify the boundary scanner for highlighting.
+
+Solr supports two boundary scanners: `breakIterator` and `simple`.
+
+[[Highlighting-ThebreakIteratorBoundaryScanner]]
+==== The `breakIterator` Boundary Scanner
+
+The `breakIterator` boundary scanner offers excellent performance right out of the box by taking locale and boundary type into account. In most cases you will want to use the `breakIterator` boundary scanner. To implement the `breakIterator` boundary scanner, add this code to the `highlighting` section of your `solrconfig.xml` file, adjusting the type, language, and country values as appropriate to your application:
+
+[source,xml]
+----
+<boundaryScanner name="breakIterator" class="solr.highlight.BreakIteratorBoundaryScanner">
+   <lst name="defaults">
+     <str name="hl.bs.type">WORD</str>
+     <str name="hl.bs.language">en</str>
+     <str name="hl.bs.country">US</str>
+   </lst>
+</boundaryScanner>
+----
+
+Possible values for the `hl.bs.type` parameter are WORD, LINE, SENTENCE, and CHARACTER.
+
+[[Highlighting-ThesimpleBoundaryScanner]]
+==== The `simple` Boundary Scanner
+
+The `simple` boundary scanner scans term boundaries for a specified maximum character value (`hl.bs.maxScan`) and for common delimiters such as punctuation marks (`hl.bs.chars`). The `simple` boundary scanner may be useful for some custom To implement the `simple` boundary scanner, add this code to the `highlighting` section of your `solrconfig.xml` file, adjusting the values as appropriate to your application:
+
+[source,xml]
+----
+<boundaryScanner name="simple" class="solr.highlight.SimpleBoundaryScanner" default="true">
+   <lst name="defaults">
+     <str name="hl.bs.maxScan">10</str >
+     <str name="hl.bs.chars">.,!?\t\n</str >
+   </lst >
+</boundaryScanner>
+----

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/how-solrcloud-works.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/how-solrcloud-works.adoc b/solr/solr-ref-guide/src/how-solrcloud-works.adoc
new file mode 100644
index 0000000..ac02870
--- /dev/null
+++ b/solr/solr-ref-guide/src/how-solrcloud-works.adoc
@@ -0,0 +1,37 @@
+= How SolrCloud Works
+:page-shortname: how-solrcloud-works
+:page-permalink: how-solrcloud-works.html
+:page-children: shards-and-indexing-data-in-solrcloud, distributed-requests, read-and-write-side-fault-tolerance
+
+The following sections cover provide general information about how various SolrCloud features work. To understand these features, it's important to first understand a few key concepts that relate to SolrCloud.
+
+* <<shards-and-indexing-data-in-solrcloud.adoc#shards-and-indexing-data-in-solrcloud,Shards and Indexing Data in SolrCloud>>
+* <<distributed-requests.adoc#distributed-requests,Distributed Requests>>
+* <<read-and-write-side-fault-tolerance.adoc#read-and-write-side-fault-tolerance,Read and Write Side Fault Tolerance>>
+
+If you are already familiar with SolrCloud concepts and basic functionality, you can skip to the section covering <<solrcloud-configuration-and-parameters.adoc#solrcloud-configuration-and-parameters,SolrCloud Configuration and Parameters>>.
+
+[[HowSolrCloudWorks-KeySolrCloudConcepts]]
+== Key SolrCloud Concepts
+
+A SolrCloud cluster consists of some "logical" concepts layered on top of some "physical" concepts.
+
+[[HowSolrCloudWorks-Logical]]
+=== Logical
+
+* A Cluster can host multiple Collections of Solr Documents.
+* A collection can be partitioned into multiple Shards, which contain a subset of the Documents in the Collection.
+* The number of Shards that a Collection has determines:
+** The theoretical limit to the number of Documents that Collection can reasonably contain.
+** The amount of parallelization that is possible for an individual search request.
+
+[[HowSolrCloudWorks-Physical]]
+=== Physical
+
+* A Cluster is made up of one or more Solr Nodes, which are running instances of the Solr server process.
+* Each Node can host multiple Cores.
+* Each Core in a Cluster is a physical Replica for a logical Shard.
+* Every Replica uses the same configuration specified for the Collection that it is a part of.
+* The number of Replicas that each Shard has determines:
+** The level of redundancy built into the Collection and how fault tolerant the Cluster can be in the event that some Nodes become unavailable.
+** The theoretical limit in the number concurrent search requests that can be processed under heavy load.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.png b/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.png
new file mode 100644
index 0000000..7c181b3
Binary files /dev/null and b/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.svg
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.svg b/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.svg
new file mode 100644
index 0000000..90adca0
--- /dev/null
+++ b/solr/solr-ref-guide/src/images/a-quick-overview/sample-client-app-arch.svg
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="951.83209"
+   height="722.24835"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="arch.svg"
+   inkscape:export-filename="/home/hossman/tmp/arch.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleInL"
+       style="overflow:visible">
+      <path
+         id="path4575"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleOutL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleOutL"
+       style="overflow:visible">
+      <path
+         id="path4584"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(0.8,0.8)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible">
+      <path
+         id="path4463"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <clipPath
+       id="clipPath3037"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3039"
+         d="m 0,102.654 203.005,0 L 203.005,0 0,0 0,102.654 z"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       id="clipPath3151"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3153"
+         d="m 0,102.654 203.005,0 L 203.005,0 0,0 0,102.654 z"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       id="clipPath3151-9"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         inkscape:connector-curvature="0"
+         id="path3153-7"
+         d="m 0,102.654 203.005,0 L 203.005,0 0,0 0,102.654 z" />
+    </clipPath>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleInL-6"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4575-5"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5640"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5642"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleInL-2"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4575-9"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5640-2"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5642-6"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="TriangleInL-0"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4575-1"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="TriangleInL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5640-8"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path5642-2"
+         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
+         transform="scale(-0.8,-0.8)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.50362889"
+     inkscape:cx="500.2462"
+     inkscape:cy="305.15545"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:object-nodes="true"
+     inkscape:window-width="1025"
+     inkscape:window-height="709"
+     inkscape:window-x="125"
+     inkscape:window-y="99"
+     inkscape:window-maximized="0"
+     fit-margin-top="50"
+     fit-margin-right="50"
+     fit-margin-bottom="50"
+     fit-margin-left="50" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(185.02727,-109.08811)">
+    <g
+       id="g3236"
+       transform="translate(-255.1482,174.73183)">
+      <g
+         id="g3145"
+         inkscape:label="Solr_Logo_on_white"
+         transform="matrix(1.25,0,0,-1.25,160.03949,571.47669)">
+        <g
+           id="g3147">
+          <g
+             id="g3149"
+             clip-path="url(#clipPath3151)">
+            <g
+               id="g3155"
+               transform="translate(40.7606,31.7631)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="m 0,0 c -2.345,1.248 -4.995,2.127 -7.875,2.613 -2.829,0.476 -5.707,0.717 -8.554,0.717 -2.327,0 -4.681,0.201 -6.998,0.597 -2.256,0.384 -4.299,1.092 -6.076,2.104 -1.729,0.984 -3.159,2.361 -4.252,4.095 -1.078,1.706 -1.624,3.968 -1.624,6.697 0.052,2.41 0.612,4.472 1.666,6.129 1.068,1.684 2.464,3.052 4.147,4.067 1.726,1.041 3.718,1.806 5.921,2.274 3.751,0.796 7.713,0.945 11.749,0.382 1.575,-0.222 3.133,-0.615 4.63,-1.168 1.47,-0.545 2.852,-1.292 4.106,-2.217 1.236,-0.915 2.328,-2.063 3.246,-3.411 L 0.6,22.124 4.388,23.718 3.584,24.853 c -1.031,1.456 -2.173,2.767 -3.395,3.899 -1.247,1.151 -2.712,2.13 -4.356,2.906 -1.623,0.765 -3.48,1.354 -5.522,1.751 -2.021,0.392 -4.377,0.59 -7.003,0.59 -2.519,0 -5.12,-0.288 -7.73,-0.858 -2.649,-0.58 -5.106,-1.538 -7.301,-2.849 -2.242,-1.34 -4.09,-3.125 -5.493,-5.306 -1.425,-2.219 -2.149,-4.957 -2.149,-8.139 0,-3.34 0.671,-6.183 1.993,-8.449 1.314,-2.252 3.076,-4.077 5.237,-5.423 2.116,-1.32 4.585,-2.269 7.338,-2.82 2.69,-0.538 5.505,-
 0.811 8.368,-0.811 2.276,0 4.686,-0.172 7.164,-0.515 2.411,-0.333 4.655,-1.005 6.669,-1.997 1.962,-0.969 3.597,-2.316 4.857,-4.005 1.219,-1.635 1.838,-3.843 1.838,-6.562 0,-2.442 -0.596,-4.524 -1.769,-6.193 -1.212,-1.724 -2.786,-3.147 -4.679,-4.229 -1.934,-1.105 -4.123,-1.919 -6.51,-2.418 -2.425,-0.508 -4.825,-0.765 -7.132,-0.765 -3.873,0 -7.7,0.74 -11.374,2.2 -3.658,1.451 -6.902,3.632 -9.64,6.482 l -0.735,0.765 -3.021,-2.618 0.848,-0.848 c 2.703,-2.705 6.06,-5.06 9.975,-7.002 3.963,-1.967 8.656,-2.964 13.947,-2.964 2.516,0 5.186,0.288 7.938,0.855 2.79,0.577 5.408,1.562 7.78,2.931 2.41,1.39 4.415,3.209 5.962,5.406 1.589,2.257 2.395,5.081 2.395,8.398 0,3.361 -0.755,6.207 -2.245,8.459 C 4.368,-3.056 2.404,-1.28 0,0"
+                 style="fill:#241f2b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3157" />
+            </g>
+            <g
+               id="g3159"
+               transform="translate(76.3898,3.9853)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="m 0,0 c -2.732,0 -5.23,0.564 -7.426,1.676 -2.225,1.125 -4.189,2.657 -5.839,4.556 -1.659,1.907 -2.977,4.137 -3.917,6.629 -0.947,2.503 -1.484,5.127 -1.593,7.754 0,2.429 0.45,4.911 1.336,7.378 0.885,2.459 2.174,4.702 3.833,6.666 1.654,1.957 3.667,3.578 5.984,4.82 2.278,1.22 4.842,1.839 7.622,1.839 2.614,0 5.083,-0.579 7.338,-1.719 2.286,-1.157 4.297,-2.707 5.978,-4.607 1.685,-1.908 3.031,-4.139 4.002,-6.632 0.967,-2.49 1.457,-5.096 1.457,-7.745 0,-2.426 -0.45,-4.909 -1.335,-7.377 C 16.553,10.774 15.264,8.532 13.606,6.57 11.955,4.617 9.945,3.012 7.631,1.8 5.352,0.605 2.785,0 0,0 m 16.577,37.377 c -1.982,2.316 -4.391,4.232 -7.162,5.694 -2.809,1.482 -5.977,2.232 -9.415,2.232 -3.132,0 -6.124,-0.671 -8.893,-1.993 -2.749,-1.314 -5.18,-3.126 -7.225,-5.384 -2.037,-2.249 -3.67,-4.898 -4.854,-7.873 -1.186,-2.979 -1.788,-6.155 -1.788,-9.438 0,-3.103 0.555,-6.14 1.65,-9.027 1.093,-2.885 2.649,-5.503 4.625,-7.784 1.985,-2.291 4.399,-4.164 7.175,-5.566 2.797,-1.414 5.923,-2.162 9
 .29,-2.223 l 0.021,0 0.021,0 c 3.186,0.061 6.203,0.778 8.967,2.128 2.744,1.34 5.172,3.166 7.217,5.424 2.037,2.25 3.656,4.87 4.81,7.787 1.157,2.924 1.744,6.04 1.744,9.261 0,2.917 -0.539,5.89 -1.6,8.835 -1.063,2.945 -2.605,5.612 -4.583,7.927"
+                 style="fill:#241f2b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3161" />
+            </g>
+            <g
+               id="g3163"
+               transform="translate(119.7832,5.0906)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="m 0,0 c -0.67,-0.167 -1.26,-0.294 -1.752,-0.376 -0.518,-0.086 -1.08,-0.173 -1.685,-0.259 -0.557,-0.079 -1.108,-0.12 -1.638,-0.12 -1.337,0 -2.321,0.443 -3.01,1.355 -0.761,1.004 -1.131,2.001 -1.131,3.049 l 0,58.337 -3.985,0 0,-58.337 c 0,-2.189 0.691,-4.126 2.055,-5.754 1.413,-1.691 3.426,-2.547 5.983,-2.547 0.802,0 1.598,0.047 2.367,0.139 0.742,0.089 1.409,0.178 2.006,0.267 0.61,0.092 1.316,0.23 2.1,0.41 L 2.661,-3.524 0.887,0.222 0,0 z"
+                 style="fill:#241f2b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3165" />
+            </g>
+            <g
+               id="g3167"
+               transform="translate(136.9779,45.2734)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="m 0,0 c -2.073,-1.457 -3.904,-3.307 -5.471,-5.522 l 0,8.836 -3.985,0 0,-47.711 3.985,0 0,29.704 c 0.552,1.946 1.312,3.771 2.261,5.426 0.957,1.667 2.148,3.135 3.538,4.362 1.39,1.226 3.008,2.221 4.811,2.958 1.798,0.736 3.827,1.166 6.031,1.277 l 1.06,0.053 0,3.931 -1.116,0 C 6.867,3.314 3.128,2.199 0,0"
+                 style="fill:#241f2b;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3169" />
+            </g>
+            <g
+               id="g3171"
+               transform="translate(193.9115,92.0414)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 -33,-35.677 8.473,-16.543 C 7.246,-10.213 4.242,-4.521 0,0"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3173" />
+            </g>
+            <g
+               id="g3175"
+               transform="translate(169.4268,102.6536)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 C -4.572,0 -8.928,-0.917 -12.9,-2.572 L -17.328,-39.886 4.799,-0.347 C 3.231,-0.122 1.63,0 0,0"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3177" />
+            </g>
+            <g
+               id="g3179"
+               transform="translate(202.7133,73.4428)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="m 0,0 -39.298,-21.992 36.87,4.375 c 1.748,4.065 2.72,8.543 2.72,13.249 C 0.292,-2.886 0.186,-1.431 0,0"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3181" />
+            </g>
+            <g
+               id="g3183"
+               transform="translate(188.2247,41.2478)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 C 4.391,2.972 8.037,6.958 10.612,11.619 L -23.947,4.756 0,0 z"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3185" />
+            </g>
+            <g
+               id="g3187"
+               transform="translate(176.2492,101.9586)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 -19.237,-41.695 16.448,-8.689 C 11.973,-4.384 6.313,-1.303 0,0"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3189" />
+            </g>
+            <g
+               id="g3191"
+               transform="translate(172.2334,35.622)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 C 3.718,0.308 7.264,1.217 10.54,2.638 L -8.818,4.935 0,0 z"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3193" />
+            </g>
+            <g
+               id="g3195"
+               transform="translate(138.8186,82.8789)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 C -1.51,-3.343 -2.489,-6.974 -2.829,-10.792 L 2.386,-20.112 0,0 z"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3197" />
+            </g>
+            <g
+               id="g3199"
+               transform="translate(153.617,98.7011)">
+              <path
+                 inkscape:connector-curvature="0"
+                 d="M 0,0 C -4.738,-2.534 -8.794,-6.17 -11.832,-10.567 L -6.965,-35.071 0,0 z"
+                 style="fill:#da3522;fill-opacity:1;fill-rule:nonzero;stroke:none"
+                 id="path3201" />
+            </g>
+          </g>
+        </g>
+      </g>
+      <rect
+         y="409.03134"
+         x="121.12093"
+         height="196.57332"
+         width="331.59335"
+         id="rect3234"
+         style="opacity:0.79680008;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <g
+       id="g4393"
+       transform="translate(-254.1554,71.23301)">
+      <rect
+         y="90.344292"
+         x="120.12814"
+         height="196.57332"
+         width="331.59335"
+         id="rect3234-0"
+         style="fill:#0008de;fill-opacity:0.25531915;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text3402"
+         y="149.31458"
+         x="284.4502"
+         style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         xml:space="preserve"><tspan
+           y="149.31458"
+           x="284.4502"
+           id="tspan3404"
+           sodipodi:role="line">Content</tspan><tspan
+           id="tspan3406"
+           y="199.31458"
+           x="284.4502"
+           sodipodi:role="line">Management</tspan><tspan
+           id="tspan3408"
+           y="249.31458"
+           x="284.4502"
+           sodipodi:role="line">System</tspan></text>
+    </g>
+    <g
+       id="g4400"
+       transform="translate(301.80953,-76.445144)">
+      <text
+         sodipodi:linespacing="125%"
+         id="text3435"
+         y="744.53015"
+         x="249.76111"
+         style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         xml:space="preserve"><tspan
+           y="744.53015"
+           x="249.76111"
+           id="tspan3437"
+           sodipodi:role="line">End User</tspan><tspan
+           id="tspan3439"
+           y="794.53015"
+           x="249.76111"
+           sodipodi:role="line">Application</tspan></text>
+      <rect
+         y="660.20831"
+         x="82.401939"
+         height="196.57332"
+         width="331.59335"
+         id="rect3234-0-6-4"
+         style="fill:#0008de;fill-opacity:0.25531915;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <g
+       id="g4425"
+       transform="translate(757.254,-37.477991)">
+      <path
+         inkscape:transform-center-y="194.58772"
+         inkscape:transform-center-x="45.668548"
+         d="m -101.26504,410.02414 c 0,10.4178 -47.56035,18.8631 -106.22901,18.8631 -58.66866,0 -106.22901,-8.4453 -106.22901,-18.8631 0,-10.4178 47.56035,-18.8631 106.22901,-18.8631 58.66866,0 106.22901,8.4453 106.22901,18.8631 z"
+         sodipodi:ry="18.863096"
+         sodipodi:rx="106.22901"
+         sodipodi:cy="410.02414"
+         sodipodi:cx="-207.49405"
+         id="path3502-5"
+         style="opacity:0.79680008;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         sodipodi:type="arc"
+         transform="translate(0.24819563,-193.59494)" />
+      <path
+         sodipodi:open="true"
+         sodipodi:end="3.1415927"
+         sodipodi:start="0"
+         inkscape:transform-center-y="194.58772"
+         inkscape:transform-center-x="45.668548"
+         d="m -101.26504,410.02414 c 0,10.4178 -47.56035,18.8631 -106.22901,18.8631 -58.66866,0 -106.22901,-8.4453 -106.22901,-18.8631 0,0 0,0 0,0"
+         sodipodi:ry="18.863096"
+         sodipodi:rx="106.22901"
+         sodipodi:cy="410.02414"
+         sodipodi:cx="-207.49405"
+         id="path3502-5-4"
+         style="opacity:0.79680008;fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         sodipodi:type="arc"
+         transform="translate(0.24819563,-31.769434)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4371"
+         d="m -313.47486,216.4292 c 0,161.82551 0,161.82551 0,161.82551"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4373"
+         d="m -101.01684,216.4292 c 0,161.82551 0,161.82551 0,161.82551"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4377"
+         d="m -243.16769,394.36964 c -34.17364,-2.31715 -64.43561,-9.27295 -66.76621,-15.34641 -0.34116,-0.88903 -0.62029,-36.66066 -0.62029,-79.4925 l 0,-77.87606 2.23379,1.4223 c 6.48455,4.12882 24.60949,8.18861 49.93322,11.1845 21.31886,2.5221 84.81991,2.52073 106.18372,-0.002 24.57791,-2.9026 40.06909,-6.37707 48.98167,-10.98594 l 3.14004,-1.62378 0,77.82597 c 0,76.61463 -0.0313,77.86572 -2.00819,80.37898 -5.00987,6.36901 -31.35126,12.054 -67.48743,14.5651 -16.40633,1.14008 -56.44098,1.11294 -73.59032,-0.0498 l 0,-3e-5 z"
+         style="fill:#00da00;fill-opacity:0.25531915;stroke:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4379"
+         d="m -243.16769,232.54414 c -33.27902,-2.25649 -64.58959,-9.3163 -66.6709,-15.03275 -1.48692,-4.08393 12.30392,-9.90261 31.05383,-13.10232 37.23448,-6.35415 101.85345,-6.78769 140.48042,-0.94251 19.32495,2.92433 35.44716,8.07086 36.86603,11.76837 2.72049,7.08948 -26.13239,14.44003 -68.13906,17.35907 -16.40633,1.14008 -56.44098,1.11295 -73.59032,-0.0499 z"
+         style="fill:#00da00;fill-opacity:0.25531915;stroke:none" />
+      <text
+         sodipodi:linespacing="125%"
+         id="text4381"
+         y="286.60049"
+         x="-205.57187"
+         style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         xml:space="preserve"><tspan
+           y="286.60049"
+           x="-205.57187"
+           id="tspan4383"
+           sodipodi:role="line">Data</tspan><tspan
+           id="tspan4385"
+           y="336.60049"
+           x="-205.57187"
+           sodipodi:role="line">Source</tspan></text>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInL);marker-end:url(#TriangleInL)"
+       d="m 31.769415,398.4829 c 0,146.93359 0,144.948 0,144.948"
+       id="path4436"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#TriangleInL)"
+       d="m 550.00815,398.48291 c 0,146.93359 0,144.948 0,144.948"
+       id="path4436-9"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleInL);marker-end:url(#TriangleInL)"
+       d="m 396.12501,259.86396 c -146.93359,0 -144.948,0 -144.948,0"
+       id="path4436-0"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#TriangleInL)"
+       d="m 208.19,682.04983 c 146.93359,0 144.948,0 144.948,0"
+       id="path4436-6"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/analysis-screen/analysis_normal.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/analysis-screen/analysis_normal.png b/solr/solr-ref-guide/src/images/analysis-screen/analysis_normal.png
new file mode 100644
index 0000000..f180ca9
Binary files /dev/null and b/solr/solr-ref-guide/src/images/analysis-screen/analysis_normal.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/analysis-screen/analysis_verbose.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/analysis-screen/analysis_verbose.png b/solr/solr-ref-guide/src/images/analysis-screen/analysis_verbose.png
new file mode 100644
index 0000000..13f8fc7
Binary files /dev/null and b/solr/solr-ref-guide/src/images/analysis-screen/analysis_verbose.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/cloud-screens/cloud-graph.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/cloud-screens/cloud-graph.png b/solr/solr-ref-guide/src/images/cloud-screens/cloud-graph.png
new file mode 100644
index 0000000..a1f81b2
Binary files /dev/null and b/solr/solr-ref-guide/src/images/cloud-screens/cloud-graph.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/cloud-screens/cloud-radial.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/cloud-screens/cloud-radial.png b/solr/solr-ref-guide/src/images/cloud-screens/cloud-radial.png
new file mode 100644
index 0000000..76f9e1e
Binary files /dev/null and b/solr/solr-ref-guide/src/images/cloud-screens/cloud-radial.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/cloud-screens/cloud-tree.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/cloud-screens/cloud-tree.png b/solr/solr-ref-guide/src/images/cloud-screens/cloud-tree.png
new file mode 100644
index 0000000..127812a
Binary files /dev/null and b/solr/solr-ref-guide/src/images/cloud-screens/cloud-tree.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/collection-specific-tools/collection_dashboard.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/collection-specific-tools/collection_dashboard.png b/solr/solr-ref-guide/src/images/collection-specific-tools/collection_dashboard.png
new file mode 100644
index 0000000..66a31e2
Binary files /dev/null and b/solr/solr-ref-guide/src/images/collection-specific-tools/collection_dashboard.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/collections-core-admin/DeleteShard.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/collections-core-admin/DeleteShard.png b/solr/solr-ref-guide/src/images/collections-core-admin/DeleteShard.png
new file mode 100644
index 0000000..b7723e7
Binary files /dev/null and b/solr/solr-ref-guide/src/images/collections-core-admin/DeleteShard.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/collections-core-admin/collection-admin.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/collections-core-admin/collection-admin.png b/solr/solr-ref-guide/src/images/collections-core-admin/collection-admin.png
new file mode 100644
index 0000000..86c367f
Binary files /dev/null and b/solr/solr-ref-guide/src/images/collections-core-admin/collection-admin.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/combining-distribution-and-replication/worddav4101c16174820e932b44baa22abcfcd1.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/combining-distribution-and-replication/worddav4101c16174820e932b44baa22abcfcd1.png b/solr/solr-ref-guide/src/images/combining-distribution-and-replication/worddav4101c16174820e932b44baa22abcfcd1.png
new file mode 100644
index 0000000..f0e4d89
Binary files /dev/null and b/solr/solr-ref-guide/src/images/combining-distribution-and-replication/worddav4101c16174820e932b44baa22abcfcd1.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/core-specific-tools/core_dashboard.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/core-specific-tools/core_dashboard.png b/solr/solr-ref-guide/src/images/core-specific-tools/core_dashboard.png
new file mode 100644
index 0000000..b4e941a
Binary files /dev/null and b/solr/solr-ref-guide/src/images/core-specific-tools/core_dashboard.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/cross-data-center-replication-cdcr-/CDCR_arch.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/cross-data-center-replication-cdcr-/CDCR_arch.png b/solr/solr-ref-guide/src/images/cross-data-center-replication-cdcr-/CDCR_arch.png
new file mode 100644
index 0000000..4dc6ee5
Binary files /dev/null and b/solr/solr-ref-guide/src/images/cross-data-center-replication-cdcr-/CDCR_arch.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/dataimport-screen/dataimport.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/dataimport-screen/dataimport.png b/solr/solr-ref-guide/src/images/dataimport-screen/dataimport.png
new file mode 100644
index 0000000..7444c27
Binary files /dev/null and b/solr/solr-ref-guide/src/images/dataimport-screen/dataimport.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/documents-screen/documents_add_screen.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/documents-screen/documents_add_screen.png b/solr/solr-ref-guide/src/images/documents-screen/documents_add_screen.png
new file mode 100644
index 0000000..571d40a
Binary files /dev/null and b/solr/solr-ref-guide/src/images/documents-screen/documents_add_screen.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/files-screen/files-screen.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/files-screen/files-screen.png b/solr/solr-ref-guide/src/images/files-screen/files-screen.png
new file mode 100644
index 0000000..0ec0a2f
Binary files /dev/null and b/solr/solr-ref-guide/src/images/files-screen/files-screen.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/getting-assistance/Assistance.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/getting-assistance/Assistance.png b/solr/solr-ref-guide/src/images/getting-assistance/Assistance.png
new file mode 100644
index 0000000..abb405a
Binary files /dev/null and b/solr/solr-ref-guide/src/images/getting-assistance/Assistance.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/icons/bullet_blue.gif
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/icons/bullet_blue.gif b/solr/solr-ref-guide/src/images/icons/bullet_blue.gif
new file mode 100644
index 0000000..25bfa0c
Binary files /dev/null and b/solr/solr-ref-guide/src/images/icons/bullet_blue.gif differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/icons/contenttypes/home_page_16.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/icons/contenttypes/home_page_16.png b/solr/solr-ref-guide/src/images/icons/contenttypes/home_page_16.png
new file mode 100644
index 0000000..32888f6
Binary files /dev/null and b/solr/solr-ref-guide/src/images/icons/contenttypes/home_page_16.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/icons/emoticons/warning.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/icons/emoticons/warning.png b/solr/solr-ref-guide/src/images/icons/emoticons/warning.png
new file mode 100644
index 0000000..7a8ab49
Binary files /dev/null and b/solr/solr-ref-guide/src/images/icons/emoticons/warning.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/index-replication/worddav2b7e14725d898b4104cdd9c502fc77cd.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/index-replication/worddav2b7e14725d898b4104cdd9c502fc77cd.png b/solr/solr-ref-guide/src/images/index-replication/worddav2b7e14725d898b4104cdd9c502fc77cd.png
new file mode 100644
index 0000000..e635aad
Binary files /dev/null and b/solr/solr-ref-guide/src/images/index-replication/worddav2b7e14725d898b4104cdd9c502fc77cd.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/java-properties/javaproperties.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/java-properties/javaproperties.png b/solr/solr-ref-guide/src/images/java-properties/javaproperties.png
new file mode 100644
index 0000000..8dd0ab3
Binary files /dev/null and b/solr/solr-ref-guide/src/images/java-properties/javaproperties.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/logging/level_menu.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/logging/level_menu.png b/solr/solr-ref-guide/src/images/logging/level_menu.png
new file mode 100644
index 0000000..008a417
Binary files /dev/null and b/solr/solr-ref-guide/src/images/logging/level_menu.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/logging/logging.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/logging/logging.png b/solr/solr-ref-guide/src/images/logging/logging.png
new file mode 100644
index 0000000..18fdf39
Binary files /dev/null and b/solr/solr-ref-guide/src/images/logging/logging.png differ

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/95968c69/solr/solr-ref-guide/src/images/other-parsers/graph_qparser_example.png
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/images/other-parsers/graph_qparser_example.png b/solr/solr-ref-guide/src/images/other-parsers/graph_qparser_example.png
new file mode 100644
index 0000000..816fa06
Binary files /dev/null and b/solr/solr-ref-guide/src/images/other-parsers/graph_qparser_example.png differ