You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by bu...@apache.org on 2014/11/12 00:58:17 UTC

svn commit: r928850 [12/13] - in /websites/staging/lucene/trunk/content: ./ css/ images/ solr/ solr/assets/ solr/assets/images/ solr/assets/scripts/ solr/assets/styles/ solr/lib/ solr/lib/angularjs/ solr/lib/angularjs/scripts/ solr/lib/foundation/ solr...

Modified: websites/staging/lucene/trunk/content/solr/quickstart.html
==============================================================================
--- websites/staging/lucene/trunk/content/solr/quickstart.html (original)
+++ websites/staging/lucene/trunk/content/solr/quickstart.html Tue Nov 11 23:58:08 2014
@@ -1,6 +1,7 @@
-<!-- solr-simple.html -->
+<!doctype html>
+<html>
 
-<head>
+  <head>
   <!--
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
@@ -17,43 +18,78 @@
       See the License for the specific language governing permissions and
       limitations under the License.
   -->
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <meta name="viewport" content="minimal-ui, initial-scale=1, maximum-scale=1, user-scalable=0">
+
+  <link href='http://fonts.googleapis.com/css?family=Raleway:400,300,600,500' rel='stylesheet' type='text/css'>
 
+  <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
+  <link rel="stylesheet" href="/solr/lib/foundation/styles/normalize.css" />
+  <link rel="stylesheet" href="/solr/lib/foundation/styles/foundation.min.css"/>
+  <link rel="stylesheet" href="/solr/lib/foundation/styles/foundation-icons.css"/>
+  <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.3.7/slick.css"/>
+  <link rel="stylesheet" href="/solr/assets/styles/base.css" />
   
-    <link href="../css/global.css" rel="stylesheet" type="text/css">
-    <link href="../css/solr.css" rel="stylesheet" type="text/css">
 
-  <title>Apache Lucene - </title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+  <title>Apache Solr - Quick Start</title>
+
+
+
   <meta name="Distribution" content="Global"/>
   <meta name="Robots" content="index,follow"/>
+
   <meta name="keywords"
-        content="apache, apache lucene, apache solr, solr, lucene
-        search, information retrieval, spell checking, faceting, inverted index, open source"/>
+            content="apache, apache lucene, apache solr, solr, lucene
+            search, information retrieval, spell checking, faceting, inverted index, open source"/>
+    
 
-  <link rel="shortcut icon" type="image/x-icon" href="/images/lucene-favicon.ico"/>
   
-<script type="text/javascript" src="../scripts/prototype.js"></script>
-<script type="text/javascript" src="../scripts/effects.js"></script>
-<script type="text/javascript" src="../scripts/search.js"></script>
-<script type="text/javascript" src="../scripts/slides.js"></script>
+  <link rel="icon" href="/solr/assets/images/favicon.ico" type="image/x-icon"> 
+  <link rel="shortcut icon" href="/solr/assets/images/favicon.ico" type="image/x-icon"> 
+  
 
-<!--<script type="text/javascript" src="scripts/jquery.js"></script>-->
+  <script src="/solr/lib/jquery-2.1.1.min.js"></script>
+<script src="/solr/lib/foundation/scripts/modernizr.js"></script>
+<script src="/solr/lib/angularjs/scripts/angular.min.js"></script>
+<script src="/solr/lib/angularjs/scripts/angular-animate.min.js"></script>
+<script src="/solr/lib/foundation/scripts/foundation.min.js"></script>
+<script src="//cdn.jsdelivr.net/jquery.slick/1.3.7/slick.min.js"/></script>
+<script src="/solr/lib/jquery.smooth-scroll.min.js"></script>
+
+    <script src="/solr/assets/scripts/main.js"></script>
+    
 
 </head>
 
 
-<body id="home">
-<div id="wrap">
-  <div id="header">
-    <div id="logo" style="float:left">
-      
-  <a href="index.html"><img border="0" width="250" height="137" src="../images/solr.png"
-                                              alt="Solr Logo"/></a><div style="z-index:100;position:absolute;top:10px;right:175px"><span style="vertical-align: super; font-size: xx-small">TM</span></div>
 
+  <body class="page" x-ng-app-root="/solr" x-ng-app="page" x-ng-controller="page.controllers.main">
 
-    </div>
-    <div id="search" style="float:right;zoom:1">
+    
+<div class="contain-to-grid">
+<div class="header-section">
+	<nav class="top-bar" data-topbar role="navigation">
+	  <ul class="title-area">
+	    <li class="name">
+	      <a href="/solr/"><img class="logo" src="/solr/assets/images/logo.svg" /></a>
+	    </li>
+	    <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
+	  </ul>
+
+	  <div class="top-bar-section">
+	    <ul class="navigation right">
+  <li>
+    <a href="/solr/news.html">News</a>
+  </li>
+  <li>
+    <a href="/solr/features.html">Features</a>
+  </li>
+  <li>
+    <a href="/solr/resources.html">Resources</a>
+  </li>
+  <li class="toggle">
+    <a ng-hide="toggled" ng-click="toggle();" href="#">Search</a>
+    <div id="search">
   <script type="text/javascript">
     function getBlank(input, stdValue) {
       if (input.value == stdValue) {
@@ -62,43 +98,49 @@
       return true;
     }
 
-    function submitForm(form) {
+    function selectProvider(form) {
+      lucidAction = "http://find.searchhub.org/p:lucene,solr";
+      searchLuceneAction = "http://search-lucene.com/lucene";
+
       provider = form.elements['searchProvider'].value;
-      if (provider == "any") {
+      if (provider == "lucid" || provider == "sl") {
+        if (provider == "lucid") {
+          form.action = lucidAction;
+        } else if (provider == "sl") {
+          form.action = searchLuceneAction;
+        }
+
+        // Only store provider preference cookie if the user selected it
+        days = 90; // cookie will be valid for 90 days
+        date = new Date();
+        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
+        expires = "; expires=" + date.toGMTString();
+        document.cookie = "searchProvider=" + provider + expires + "; path=/";
+      } else {
         if (Math.random() > 0.5) {
-          provider = "lucid";
+          form.action = lucidAction;
         } else {
-          provider = "sl";
+          form.action = searchLuceneAction;
         }
       }
-
-      if (provider == "lucid") {
-        form.action = "http://find.searchhub.org/p:lucene,solr";
-      } else if (provider == "sl") {
-        form.action = "http://search-lucene.com/lucene";
-      }
-
-      days = 90; // cookie will be valid for 90 days
-      date = new Date();
-      date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
-      expires = "; expires=" + date.toGMTString();
-      document.cookie = "searchProvider=" + provider + expires + "; path=/";
-
       return true;
     }
   </script>
-  <form id="quick-search" method="GET" onsubmit="return submitForm(this)"
-        action="http://search-lucene.com/lucene"
+  <form id="quick-search" method="GET" onsubmit="return selectProvider(this)"
+        action="http://search-lucene.com//lucene"
         name="searchform">
     <fieldset>
-      <input type="search" id="q" name="q" value="Search with Apache Solr..." class="class1 class2 hint" accesskey="q"
-             onfocus="getBlank(this, 'Search with Apache Solr...')">
-      <span style="color:white">@</span>
-      <select name="searchProvider" id="searchProvider">
-        <option value="any">select provider</option>
-        <option value="lucid">Lucid Find</option>
-        <option value="sl">Search-Lucene</option>
-      </select>
+      <div ng-show="toggled" class="search-box">
+        <input type="search" name="q" placeholder="Search |" accesskey="q"
+               onfocus="getBlank(this, 'Search |');"/>
+        <a class="search-button" type="submit" 
+           onclick="form = document.getElementById('quick-search'); selectProvider(form); form.submit();"><img src="/solr/assets/images/magnifying-glass.png"/></a>
+        <select name="searchProvider" id="searchProvider" class="search-provider">
+          <option value="any"> - select provider - </option>
+          <option value="lucid">@ Lucid Find</option>
+          <option value="sl">@ Search-Lucene</option>
+        </select>
+      </div>
     </fieldset>
     <script type="text/javascript">
       if (document.cookie.length > 0) {
@@ -117,210 +159,641 @@
   </form>
 </div>
 
-    <div id="nav">
-      
-  <ul>
-  <li><a href="solrnews.html">News</a></li>
-  <li><a href="downloads.html">Download</a></li>
-  <li><a href="discussion.html">Mailing Lists</a></li>
-  <li><a href="documentation.html">Documentation</a></li>
-  <li><a href="tutorial.html">Tutorial</a></li>
-  <li><a href="https://issues.apache.org/jira/browse/SOLR">Issue Tracker</a></li>
-  <li><a class="last" href="../">Lucene TLP</a></li>
+  </li>
+  <li>
+    <a class="btn" href="/solr/mirrors-solr-latest-redir.html">download</a>
+  </li>
+  <li >
+    <a class="lucene-btn" href="/index.html">Lucene<br />&#8679; TLP</a>
+  </li>
 </ul>
 
-
-    </div>
-    
-  
-<div id="slides">
-  <div class="slideshow" id="mantleSlides">
-    <div id="slide1">
-      <div class="callout">
-        Ultra-fast Lucene-based Search Server<br/>
-      </div>
-      <div class="descwrapper">
-        <div class="description">
-          Apache Solr offers Lucene's capabilities in an easy to use,
-          fast search server with additional features like faceting, scalability and much more
-        </div>
-      </div>
-      <div class="mantle">
-        <img alt="Apache Solr" src="../images/mantle-solr.png"/>
-      </div>
-    </div>
-    <div id="slide2" style="display:none">
-      <div class="callout">
-        Proven search capabilities<br/>
-      </div>
-      <div class="descwrapper">
-        <div class="description">
-          The Solr search server powers a wide range of applications such as Netflix, AOL, CNET, Zappos and many more
-        </div>
-      </div>
-      <div class="mantle">
-        <img alt="Solr Power" src="../images/mantle-power.png"/>
-      </div>
-    </div>
-    <div id="slide3" style="display:none">
-      <div class="callout">
-        Scalable
-      </div>
-      <div class="descwrapper">
-        <div class="description">
-          Apache Solr has been deployed successfully in both high query volume
-          situations and
-          large collection sizes
-        </div>
-      </div>
-      <div class="mantle">
-        <img alt="Apache Solr community" src="../images/mantle-scale.png"/>
-      </div>
-    </div>
-    <div id="slide4" style="display:none">
-      <div class="callout">
-        Apache 2.0 licensed
-      </div>
-      <div class="descwrapper">
-        <div class="description">
-          Apache Solr is distributed under a commercially friendly Apache Software license
-        </div>
-      </div>
-      <div class="mantle">
-        <img alt="Apache Software Foundation" src="../images/mantle-asf.png"/>
-      </div>
-    </div>
-    <div id="slide5" style="display:none">
-      <div class="callout">
-        Published
-      </div>
-      <div class="descwrapper">
-        <div class="description">
-          Latest books written about Apache Solr
-        </div>
-      </div>
-      <div class="mantle">
-        <a href="books.html#mastering-apache-solr">
-        <img alt="Mastering Apache Solr" src="../images/book_mas.jpg" style="width: 150px;height: 180px;"/>
-        </a>
-        <a href="books.html#solr-in-action">
-        <img alt="Solr in Action" src="../images/book_sia.png" style="width: 150px;height: 180px;"/>
-        </a>
-        <a href="books.html#instant-apache-solr-for-indexing-data-how-to">
-        <img alt="Instant Apache Solr for Indexing Data How-to" src="../images/book_s4index.jpg" style="width: 150px;height: 180px;"/>
-        </a>
-        <a href="books.html#apache-solr-4-cookbook">
-        <img alt="Apache Solr 4.0 Cookbook" src="../images/book_s4c.jpg" style="width: 150px;height: 180px;"/>
-        </a>
-      </div>
-    </div>
-  </div>
-  <div class="controls">
-    <a class="next" id="next" title="Next" href="#">Next</a>
-    <a class="previous" id="previous" title="Previous" href="#">Previous</a>
-    <a class="start" id="start" title="Start" href="#" style="display: none; ">Start</a>
-    <a class="stop" id="stop" title="Stop" href="#">Stop</a>
-  </div>
+	  </div>
+	</nav>
+</div>
 </div>
-<script type="text/javascript">
-  function StartSlides() {
-    new Slides('mantleSlides');
-  }
-  document.observe('dom:loaded', StartSlides);
-</script>
 
+<div class="header-fill"></div>
 
+  <div class="container">
 
-  </div> 
-  <div id="content-wrap" class="clearfix">
-    <div id="main">
-      <h1 class="title"></h1>
+    <div class="row">
+      <div class="small-12 columns">
+        
+          <ul class="breadcrumbs">
+  <li><a href="/solr">Home</a></li>
+  <li><a href="/solr/resources.html">Resources</a></li>
+</ul>
 
-      <div></div>
-      
+<h1 id="solr-quick-start">Solr Quick Start</h1>
+<hr />
+<h2 id="overview">Overview</h2>
+<p>This document covers getting Solr up and running, ingesting a variety of data sources into multiple collections, and getting a feel
+for the Solr administrative and search interfaces.</p>
+<hr />
+<h2 id="requirements">Requirements</h2>
+<p>To follow along with this tutorial, you will need...</p>
+<ol>
+<li>Java 1.7 or greater. Some places you can get it are from Oracle or Open JDK.<ul>
+<li>Running <code>java -version</code> at the command line should indicate a version number starting with 1.7.</li>
+<li>Gnu's GCJ is not supported and does not work with Solr.</li>
+</ul>
+</li>
+<li>An Apache Solr release.  This Quick Start was written using Apache Solr 4.10.2.  Some fiddly details will be different/clunkier for earlier versions and more streamlined in later versions.</li>
+</ol>
+<hr />
+<h2 id="getting-started">Getting Started</h2>
+<p>Please run the browser showing this tutorial and the Solr server on the same machine so tutorial links will correctly point to your Solr server.</p>
+<p>Begin by unzipping the Solr release and changing your working directory to the subdirectory where Solr was installed.  Note that the base directory name may vary with the version of Solr downloaded.  For example, with a shell in UNIX, Cygwin, or MacOS:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="p">:</span>$ <span class="n">ls</span> <span class="n">solr</span><span class="o">*</span>
+<span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">.</span><span class="n">zip</span>
+<span class="o">/</span><span class="p">:</span>$ <span class="n">unzip</span> <span class="o">-</span><span class="n">q</span> <span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">.</span><span class="n">zip</span>
+<span class="o">/</span><span class="p">:</span>$ <span class="n">cd</span> <span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="o">/</span>
+</pre></div>
+
+
+<p>To launch Solr, run: <code>bin/solr start -e cloud -noprompt</code></p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$ <span class="n">bin</span><span class="o">/</span><span class="n">solr</span> <span class="n">start</span> <span class="o">-</span><span class="n">e</span> <span class="n">cloud</span> <span class="o">-</span><span class="n">noprompt</span> 
+<span class="n">Welcome</span> <span class="n">to</span> <span class="n">the</span> <span class="n">SolrCloud</span> <span class="n">example</span>!
+
+
+<span class="n">Starting</span> <span class="n">up</span> 2 <span class="n">Solr</span> <span class="n">nodes</span> <span class="k">for</span> <span class="n">your</span> <span class="n">example</span> <span class="n">SolrCloud</span> <span class="n">cluster</span><span class="p">.</span>
+<span class="p">...</span>
+
+<span class="n">Started</span> <span class="n">Solr</span> <span class="n">server</span> <span class="n">on</span> <span class="n">port</span> 8983 <span class="p">(</span><span class="n">pid</span><span class="p">=</span>8404<span class="p">).</span> <span class="n">Happy</span> <span class="n">searching</span>!
+<span class="p">...</span>
+
+<span class="n">Started</span> <span class="n">Solr</span> <span class="n">server</span> <span class="n">on</span> <span class="n">port</span> 7574 <span class="p">(</span><span class="n">pid</span><span class="p">=</span>8549<span class="p">).</span> <span class="n">Happy</span> <span class="n">searching</span>!
+<span class="p">...</span>
+
+<span class="n">SolrCloud</span> <span class="n">example</span> <span class="n">running</span><span class="p">,</span> <span class="n">please</span> <span class="n">visit</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span>
+
+<span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$
+</pre></div>
+
+
+<p>You can see that the Solr is running by loading the Solr Admin UI in your web browser: <a href="http://localhost:8983/solr/">http://localhost:8983/solr/</a>. This is the main starting point for administering Solr.</p>
+<p>Solr will now be running two "nodes", one on port 7574 and one on port 8983.  There are two collections created automatically, <code>collection1</code> and <code>gettingstarted</code>.  These collections are different in a couple of ways: <code>collection1</code> is a single shard collection with two replicas and <code>gettingstarted</code> is a two shard
+collection, each with two replicas. The <a href="http://localhost:8983/solr/#/~cloud">Cloud tab</a> in the Admin UI diagrams the collection nicely:</p>
+<p><img alt="Solr Quick Start: SolrCloud diagram" class="float-right" src="/solr/assets/images/quickstart-solrcloud.png" /></p>
+<p>We will only be using <code>collection1</code> in this guide; it makes things easier in part because the indexing commands default to using that collection.</p>
+<hr />
+<section class="orange full-width">
+  <h1>That wasn't too hard!</h1>
+  <p>
+    You nailed step 1. Take a deep breath, relax a bit before round 2 below.
+  </p>
+  <div class="down-arrow"><a data-scroll href="#indexing-data"><i class="fa fa-angle-down fa-2x red"></i></a></div>
+</section>
+
+<h2 id="indexing-data">Indexing Data</h2>
+<p>Your Solr server is up and running, but it doesn't contain any data.  The Solr install includes, literally, a <code>SimplePostTool</code> in order to facilitate getting various types of documents into Solr easy from the start.  We'll be using this tool for the indexing examples below.</p>
+<p>You'll need a command shell to run these examples, rooted in the Solr install directory; the shell from where you launched Solr works just fine.</p>
+<p>Running the <code>SimplePostTool</code> can be made easier/cleaner to run by setting this in your environment:</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">CLASSPATH</span><span class="p">=</span><span class="n">dist</span><span class="o">/</span><span class="n">solr</span><span class="o">-</span><span class="n">core</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">.</span><span class="n">jar</span>
+</pre></div>
+
+
+<p>Or if you prefer, you can make every java command start with <code>java -classpath dist/solr-core-4.10.2.jar ...</code>&nbsp;&nbsp;&nbsp;  The examples provided below omit the <code>-classpath</code> argument and assume the <code>$CLASSPATH</code> environment variable is set.</p>
+<h3 id="indexing-a-directory-of-rich-files">Indexing a directory of "rich" files</h3>
+<p>Let's first index local "rich" files including HTML, PDF, Microsoft Office formats (such as MS Word), plain text and many other formats.  <code>SimplePostTool</code> features the ability to crawl a directory of files, optionally recursively even, sending the raw content of each file into Solr for extraction and indexing.   A Solr install includes a <code>docs/</code> subdirectory, so that makes a convenient set of (mostly) HTML files built-in to start with.</p>
+<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="o">-</span><span class="n">Drecursive</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">docs</span><span class="o">/</span>
+</pre></div>
+
+
+<p>Here's what it'll look like:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$ <span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="o">-</span><span class="n">Drecursive</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">docs</span><span class="o">/</span>
+<span class="n">SimplePostTool</span> <span class="n">version</span> 1<span class="p">.</span>5
+<span class="n">Posting</span> <span class="n">files</span> <span class="n">to</span> <span class="n">base</span> <span class="n">url</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Entering</span> <span class="n">auto</span> <span class="n">mode</span><span class="p">.</span> <span class="n">File</span> <span class="n">endings</span> <span class="n">considered</span> <span class="n">are</span> <span class="n">xml</span><span class="p">,</span><span class="n">json</span><span class="p">,</span><span class="n">csv</span><span class="p">,</span><span class="n">pdf</span><span class="p">,</span><span class="n">doc</span><span class="p">,</span><span class="n">docx</span><span class="p">,</span><span class="n">ppt</span><span class="p">,</span><span class="n">pptx</span><span class="p">,</span><span class="n">xls</span><span class="p">,</span><span class="n">xlsx</span><span class="p">,</span><span class="n">odt</span><span class="p">,</span><span class="n">odp</span><span class="p">,</span><span class="n">ods</span><span class="p">,</span><span class="n">ott</span><span class="p">,</span><span class="n">otp</span><span class="p">,</span><span class
 ="n">ots</span><span class="p">,</span><span class="n">rtf</span><span class="p">,</span><span class="n">htm</span><span class="p">,</span><span class="n">html</span><span class="p">,</span><span class="n">txt</span><span class="p">,</span><span class="nb">log</span>
+<span class="n">Entering</span> <span class="n">recursive</span> <span class="n">mode</span><span class="p">,</span> <span class="n">max</span> <span class="n">depth</span><span class="p">=</span>999<span class="p">,</span> <span class="n">delay</span><span class="p">=</span>0<span class="n">s</span>
+<span class="n">Indexing</span> <span class="n">directory</span> <span class="n">docs</span> <span class="p">(</span>3 <span class="n">files</span><span class="p">,</span> <span class="n">depth</span><span class="p">=</span>0<span class="p">)</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">index</span><span class="p">.</span><span class="n">html</span> <span class="p">(</span><span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">)</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">SYSTEM_REQUIREMENTS</span><span class="p">.</span><span class="n">html</span> <span class="p">(</span><span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">)</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">tutorial</span><span class="p">.</span><span class="n">html</span> <span class="p">(</span><span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">)</span>
+<span class="n">Indexing</span> <span class="n">directory</span> <span class="n">docs</span><span class="o">/</span><span class="n">changes</span> <span class="p">(</span>1 <span class="n">files</span><span class="p">,</span> <span class="n">depth</span><span class="p">=</span>1<span class="p">)</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">Changes</span><span class="p">.</span><span class="n">html</span> <span class="p">(</span><span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">)</span>
+<span class="n">Indexing</span> <span class="n">directory</span> <span class="n">docs</span><span class="o">/</span><span class="n">solr</span><span class="o">-</span><span class="n">analysis</span><span class="o">-</span><span class="n">extras</span> <span class="p">(</span>8 <span class="n">files</span><span class="p">,</span> <span class="n">depth</span><span class="p">=</span>1<span class="p">)</span>
+<span class="p">...</span>
+2945 <span class="n">files</span> <span class="n">indexed</span><span class="p">.</span>
+<span class="n">COMMITting</span> <span class="n">Solr</span> <span class="n">index</span> <span class="n">changes</span> <span class="n">to</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Time</span> <span class="n">spent</span><span class="p">:</span> 0<span class="p">:</span>00<span class="p">:</span>37<span class="p">.</span>537
+</pre></div>
 
 
-      
-    </div>
-    
-    
-<div id="sidebar">
-  <div class="button-wrapper">
-    <div class="button-orange">
-     <a href="mirrors-solr-latest-redir.html?">Download</a>
-      <div class="flap top">Click to begin</div>
-      <div class="flap bottom">of Apache Solr 4.10.2</div>
-      <div class="download-desc">Apache Solr 4.10.2</div>
-    </div>
-  </div>
-  <span class="sidenav"><h1 id="resources">Resources</h1>
+<p>The command-line breaks down as follows:</p>
 <ul>
-<li><a href="./features.html">Features</a></li>
-<li><a href="./tutorial.html">Tutorial</a></li>
-<li><a href="./documentation.html">Release Documentation</a></li>
-<li><a href="./versioncontrol.html">Version Control</a></li>
-<li><a href="./books.html">Books</a></li>
-<li><a href="./screenshots.html">Screenshots</a></li>
+<li><code>-Dauto -Drecursive</code>: Settings for automatic content-type detection and directory recursing</li>
+<li><code>org.apache.solr.util.SimplePostTool</code>: Our easy to use POSTing friend in this tutorial</li>
+<li><code>docs/</code>: a relative path of the Solr install <code>docs/</code> directory</li>
 </ul>
-<h1 id="about">About</h1>
+<p>You have now indexed thousands of documents into the <code>collection1</code> collection in Solr and committed these changes.  You can search for "solr" by loading the Admin UI <a href="http://localhost:8983/solr/#/collection1/query">Query tab</a>, and enter "solr" in the <code>q</code> param (replacing <code>*:*</code>, which matches all documents).  See the <a href="#searching">Searching</a> section below for more information. </p>
+<p>To index your own data, re-run the directory indexing command pointed to your own directory of documents.  For example, on a Mac instead of <code>docs/</code> try <code>~/Documents/</code> or <code>~/Desktop/</code> !   You may want to start from a clean, empty system again, rather than have your content in addition to the Solr <code>docs/</code> directory; see the Cleanup section <a href="#cleanup">below</a> for how to get back to a clean starting point.</p>
+<h3 id="indexing-solr-xml">Indexing Solr XML</h3>
+<p>Solr supports indexing structured content in a variety of incoming formats.  The historically predominant format for getting structured content into Solr has been <a href="https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Index+Handlers#UploadingDatawithIndexHandlers-XMLFormattedIndexUpdates">Solr XML</a>.  Many Solr indexers have been coded to process domain content into Solr XML output, generally HTTP POSTed directly to Solr's <code>/update</code> endpoint.</p>
+<p>Solr's install includes a handful of Solr XML formatted files with example data (mostly mocked tech product data).  </p>
+<p>Using <code>SimplePostTool</code>, index the example Solr XML files in <code>example/exampledocs/</code>:</p>
+<div class="codehilite"><pre><span class="n">java</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/*</span><span class="p">.</span><span class="n">xml</span>
+</pre></div>
+
+
+<p>Here's what you'll see:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$ <span class="n">java</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/*</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">SimplePostTool</span> <span class="n">version</span> 1<span class="p">.</span>5
+<span class="n">Posting</span> <span class="n">files</span> <span class="n">to</span> <span class="n">base</span> <span class="n">url</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span> <span class="n">using</span> <span class="n">content</span><span class="o">-</span><span class="n">type</span> <span class="n">application</span><span class="o">/</span><span class="n">xml</span><span class="p">..</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">gb18030</span><span class="o">-</span><span class="n">example</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">hd</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">ipod_other</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">ipod_video</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">manufacturers</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">mem</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">money</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">monitor</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">monitor2</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">mp500</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">sd500</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">solr</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">utf8</span><span class="o">-</span><span class="n">example</span><span class="p">.</span><span class="n">xml</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">vidcard</span><span class="p">.</span><span class="n">xml</span>
+14 <span class="n">files</span> <span class="n">indexed</span><span class="p">.</span>
+<span class="n">COMMITting</span> <span class="n">Solr</span> <span class="n">index</span> <span class="n">changes</span> <span class="n">to</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Time</span> <span class="n">spent</span><span class="p">:</span> 0<span class="p">:</span>00<span class="p">:</span>00<span class="p">.</span>453
+</pre></div>
+
+
+<p>...and now you can search for all sorts of things using the default <a href="https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser#TheStandardQueryParser-SpecifyingTermsfortheStandardQueryParser">Solr Query Syntax</a> (a superset of the Lucene query syntax)...</p>
+<p>NOTE:
+You can browse the documents indexed at <a href="http://localhost:8983/solr/collection1/browse">http://localhost:8983/solr/collection1/browse</a>.  The <code>/browse</code> UI allows getting a feel for how Solr's technical capabilities can be worked with in a familiar, though a bit rough and prototypical, interactive HTML view.  (The <code>/browse</code> view defaults to assuming the <code>collection1</code> schema and data are a catch-all mix of structured XML, JSON, CSV example data, and unstructured rich documents.  Your own data may not look ideal at first, though the <code>/browse</code> templates are customizable.)</p>
+<h3 id="indexing-json">Indexing JSON</h3>
+<p>Solr supports indexing JSON, either arbitrary structured JSON or "Solr JSON" (which is similiar to Solr XML).</p>
+<p>Solr includes a small sample Solr JSON file to illustrate this capability.  Again using <code>SimplePostTool</code>, index the sample JSON file:</p>
+<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/</span><span class="n">books</span><span class="p">.</span><span class="n">json</span>
+</pre></div>
+
+
+<p>You'll see:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$ <span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/</span><span class="n">books</span><span class="p">.</span><span class="n">json</span>
+<span class="n">SimplePostTool</span> <span class="n">version</span> 1<span class="p">.</span>5
+<span class="n">Posting</span> <span class="n">files</span> <span class="n">to</span> <span class="n">base</span> <span class="n">url</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Entering</span> <span class="n">auto</span> <span class="n">mode</span><span class="p">.</span> <span class="n">File</span> <span class="n">endings</span> <span class="n">considered</span> <span class="n">are</span> <span class="n">xml</span><span class="p">,</span><span class="n">json</span><span class="p">,</span><span class="n">csv</span><span class="p">,...</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">books</span><span class="p">.</span><span class="n">json</span> <span class="p">(</span><span class="n">application</span><span class="o">/</span><span class="n">json</span><span class="p">)</span>
+1 <span class="n">files</span> <span class="n">indexed</span><span class="p">.</span>
+<span class="n">COMMITting</span> <span class="n">Solr</span> <span class="n">index</span> <span class="n">changes</span> <span class="n">to</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Time</span> <span class="n">spent</span><span class="p">:</span> 0<span class="p">:</span>00<span class="p">:</span>00<span class="p">.</span>084
+</pre></div>
+
+
+<p>Because the <code>SimplePostTool</code> defaults to assuming files are in Solr XML format, the <code>-Dauto</code> switch is used to post JSON files so that it uses the appropriate content type.</p>
+<p>To flatten (and/or split) and index arbitrary structured JSON, a topic beyond this quick start guide, check out <a href="https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Index+Handlers#UploadingDatawithIndexHandlers-TransformingandIndexingcustomJSONdata">Transforming and Indexing Custom JSON data</a>.</p>
+<h3 id="indexing-csv-commacolumn-separated-values">Indexing CSV (Comma/Column Separated Values)</h3>
+<p>A great conduit of data into Solr is via CSV, especially when the documents are homogonenous and generally all have the same set of fields.  CSV can be conveniently exported from a spreadsheet such as Excel, or exported from databases such as MySQL.  When getting started with Solr, it can often be easiest to get your structured data into CSV format and then index that into Solr rather than a more sophisticated single step operation.</p>
+<p>Using SimplePostTool and the included example CSV data file, index it:</p>
+<div class="codehilite"><pre><span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/</span><span class="n">books</span><span class="p">.</span><span class="n">csv</span>
+</pre></div>
+
+
+<p>In your terminal you'll see:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2<span class="p">:</span>$ <span class="n">java</span> <span class="o">-</span><span class="n">Dauto</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">solr</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">SimplePostTool</span> <span class="n">example</span><span class="o">/</span><span class="n">exampledocs</span><span class="o">/</span><span class="n">books</span><span class="p">.</span><span class="n">csv</span>
+<span class="n">SimplePostTool</span> <span class="n">version</span> 1<span class="p">.</span>5
+<span class="n">Posting</span> <span class="n">files</span> <span class="n">to</span> <span class="n">base</span> <span class="n">url</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Entering</span> <span class="n">auto</span> <span class="n">mode</span><span class="p">.</span> <span class="n">File</span> <span class="n">endings</span> <span class="n">considered</span> <span class="n">are</span> <span class="n">xml</span><span class="p">,</span><span class="n">json</span><span class="p">,</span><span class="n">csv</span><span class="p">,...</span>
+<span class="n">POSTing</span> <span class="n">file</span> <span class="n">books</span><span class="p">.</span><span class="n">csv</span> <span class="p">(</span><span class="n">text</span><span class="o">/</span><span class="n">csv</span><span class="p">)</span>
+1 <span class="n">files</span> <span class="n">indexed</span><span class="p">.</span>
+<span class="n">COMMITting</span> <span class="n">Solr</span> <span class="n">index</span> <span class="n">changes</span> <span class="n">to</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">update</span><span class="p">..</span>
+<span class="n">Time</span> <span class="n">spent</span><span class="p">:</span> 0<span class="p">:</span>00<span class="p">:</span>00<span class="p">.</span>084
+</pre></div>
+
+
+<h3 id="other-indexing-techniques">Other indexing techniques</h3>
 <ul>
-<li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
-<li><a href="../whoweare.html">Who We are</a></li>
+<li>
+<p>Import records from a database using the <a href="https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler">Data Import Handler (DIH)</a>.</p>
+</li>
+<li>
+<p>Use <a href="https://cwiki.apache.org/confluence/display/solr/Using+SolrJ">SolrJ</a> for Java or other Solr clients to programatically create documents to send to Solr.</p>
+</li>
+<li>
+<p>Use the Admin UI <a href="http://localhost:8983/solr/#/collection1/documents">Documents tab</a> to paste in a document to be indexed, or select <code>Document Builder</code> from the <code>Document Type</code> dropdown to build a document one field at a time.  Click on the <code>Submit Document</code> button below the form to index your document.</p>
+</li>
 </ul>
-<h1 id="asf-links">ASF links</h1>
+<hr />
+<h2 id="updating-data">Updating Data</h2>
+<p>You may notice that even if you index content in this guide more than once, it does not duplicate the results found. This is because the example <code>schema.xml</code> specifies a "<code>uniqueKey</code>" field called "<code>id</code>". Whenever you POST commands to Solr to add a document with the same value for the <code>uniqueKey</code> as an existing document, it automatically replaces it for you. You can see that that has happened by looking at the values for <code>numDocs</code> and <code>maxDoc</code> in the "CORE"/searcher section of the statistics page...</p>
+<p><a href="http://localhost:8983/solr/#/collection1/plugins/core?entry=searcher">http://localhost:8983/solr/#/collection1/plugins/core?entry=searcher</a></p>
+<p><code>numDocs</code> represents the number of searchable documents in the index (and will be larger than the number of XML, JSON, or CSV files since some files contained more than one document).  The maxDoc value may be larger as the maxDoc count includes logically deleted documents that have not yet been removed from the index. You can re-post the sample files over and over again as much as you want and <code>numDocs</code> will never increase, because the new documents will constantly be replacing the old.</p>
+<p>Go ahead and edit any of the existing example data files, change some of the data, and re-run the SimplePostTool command.  You'll see your changes reflected in subsequent searches.</p>
+<h2 id="deleting-data">Deleting Data</h2>
+<p>You can delete data by POSTing a delete command to the update URL and specifying the value of the document's unique key field, or a query that matches multiple documents (be careful with that one!). Since these commands are smaller, we specify them right on the command line rather than reference a JSON or XML file.</p>
+<p>Execute the following command to delete a specific document</p>
+<div class="codehilite"><pre>java -Ddata=args org.apache.solr.util.SimplePostTool &quot;<span class="nt">&lt;delete&gt;&lt;id&gt;</span>SP2514N<span class="nt">&lt;/id&gt;&lt;/delete&gt;</span>&quot;
+</pre></div>
+
+
+<hr />
+<section class="orange full-width">
+      <h1>Way to go!!!</h1>
+      <p>
+        Round 2, check. Now get up and do some jumping jacks. Heck, go for a run and leave your house, you deserve it.
+      </p>
+      <div class="down-arrow"><a data-scroll href="#searching"><i class="fa fa-angle-down fa-2x red"></i></a></div>
+</section>
+
+<h2 id="searching">Searching</h2>
+<p>Solr can be queried via REST clients cURL, wget, Chrome POSTMAN, etc., as well as via the native clients available for many programming languages.</p>
+<p>The Solr Admin UI includes a query builder interface - see the <code>collection1</code> query tab at <a href="http://localhost:8983/solr/#/collection1/query">http://localhost:8983/solr/#/collection1/query</a>.  If you click the <code>Execute Query</code> button without changing anything in the form, you'll get 10 random documents in JSON format (<code>*:*</code> in the <code>q</code> param matches all documents):</p>
+<p><img style="border:1px solid #ccc" src="/solr/assets/images/quickstart-query-screen.png" alt="Solr Quick Start: collection1 Query tab" class="float-right"/></p>
+<p>The URL sent by the Admin UI to Solr is shown in light grey near the top right of the above screenshot - if you click on it, your browser will show you the raw response.  To use cURL, just give the same URL in quotes on the <code>curl</code> command line:</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">q</span><span class="p">=</span><span class="o">*</span><span class="c">%3A*&amp;wt=json&amp;indent=true&quot;</span>
+</pre></div>
+
+
+<p>In the above URL, the "<code>:</code>" in "<code>q=*:*</code>" has been URL-encoded as "<code>%3A</code>", but since "<code>:</code>" has no reserved purpose in the query component of the URL (after the "<code>?</code>"), you don't need to URL encode it.  So the following also works:</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">q</span><span class="p">=</span><span class="o">*</span><span class="p">:</span><span class="o">*&amp;</span><span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span>&quot;
+</pre></div>
+
+
+<h3 id="basics">Basics</h3>
+<h4 id="search-for-a-single-term">Search for a single term</h4>
+<p>To search for a term, give it as the <code>q</code> param value - in the Admin UI <a href="http://localhost:8983/solr/#/collection1/query">Query tab</a>, replace <code>*:*</code> with the term you want to find.  To search for "foundation":</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="n">foundation</span>&quot;
+</pre></div>
+
+
+<p>You'll see:</p>
+<div class="codehilite"><pre><span class="o">/</span><span class="n">solr</span><span class="o">-</span>4<span class="p">.</span>10<span class="p">.</span>2$ <span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="n">foundation</span>&quot;
+<span class="p">{</span>
+  &quot;<span class="n">responseHeader</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">status</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">QTime</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">params</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">indent</span>&quot;<span class="p">:</span>&quot;<span class="n">true</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">q</span>&quot;<span class="p">:</span>&quot;<span class="n">foundation</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">wt</span>&quot;<span class="p">:</span>&quot;<span class="n">json</span>&quot;<span class="p">}},</span>
+  &quot;<span class="n">response</span>&quot;<span class="p">:{</span>&quot;<span class="n">numFound</span>&quot;<span class="p">:</span>2812<span class="p">,</span>&quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">,</span>&quot;<span class="n">docs</span>&quot;<span class="p">:[</span>
+      <span class="p">{</span>
+        &quot;<span class="n">id</span>&quot;<span class="p">:</span>&quot;0553293354&quot;<span class="p">,</span>
+        &quot;<span class="nb">cat</span>&quot;<span class="p">:[</span>&quot;<span class="n">book</span>&quot;<span class="p">],</span>
+        &quot;<span class="n">name</span>&quot;<span class="p">:</span>&quot;<span class="n">Foundation</span>&quot;<span class="p">,</span>
+<span class="p">...</span>
+</pre></div>
+
+
+<p>The response indicates that there are 2,812 hits (<code>"numFound":2812</code>), of which the first 10 were returned, since by default <code>start</code>=<code>0</code> and <code>rows</code>=<code>10</code>.  You can specify these params to page through results, where <code>start</code> is the position of the first result to return, and <code>rows</code> is the page size.</p>
+<p>To restrict fields returned in the response, use the <code>fl</code> param, which takes a comma-separated list of field names.  E.g. to only return the <code>id</code> field:</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="n">foundation</span><span class="o">&amp;</span><span class="n">fl</span><span class="p">=</span><span class="n">id</span>&quot;
+</pre></div>
+
+
+<p><code>q=foundation</code> matches nearly all of the docs we've indexed, since most of the files under <code>docs/</code> contain "The Apache Software Foundation".  To restrict search to a particular field, use the syntax "<code>q=field:value</code>", e.g. to search for <code>foundation</code> only in the <code>name</code> field:</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="n">name</span><span class="p">:</span><span class="n">foundation</span>&quot;
+</pre></div>
+
+
+<p>The above request returns only one document (<code>"numFound":1</code>) - from the response:</p>
+<div class="codehilite"><pre><span class="p">...</span>
+  &quot;<span class="n">response</span>&quot;<span class="p">:{</span>&quot;<span class="n">numFound</span>&quot;<span class="p">:</span>1<span class="p">,</span>&quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">,</span>&quot;<span class="n">docs</span>&quot;<span class="p">:[</span>
+      <span class="p">{</span>
+        &quot;<span class="n">id</span>&quot;<span class="p">:</span>&quot;0553293354&quot;<span class="p">,</span>
+        &quot;<span class="nb">cat</span>&quot;<span class="p">:[</span>&quot;<span class="n">book</span>&quot;<span class="p">],</span>
+        &quot;<span class="n">name</span>&quot;<span class="p">:</span>&quot;<span class="n">Foundation</span>&quot;<span class="p">,</span>
+<span class="p">...</span>
+</pre></div>
+
+
+<h4 id="phrase-search">Phrase search</h4>
+<p>To search for a multi-term phrase, enclose it in double quotes: <code>q="multiple terms here"</code>.  E.g. to search for "CAS latency" - note that the space between terms must be converted to "<code>+</code>" in a URL (the Admin UI will handle URL encoding for you automatically):</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="o">\</span>&quot;<span class="n">CAS</span><span class="o">+</span><span class="n">latency</span><span class="o">\</span>&quot;&quot;
+</pre></div>
+
+
+<p>You'll get back:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="n">responseHeader</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">status</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">QTime</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">params</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">indent</span>&quot;<span class="p">:</span>&quot;<span class="n">true</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">q</span>&quot;<span class="p">:</span>&quot;<span class="o">\</span>&quot;<span class="n">CAS</span> <span class="n">latency</span><span class="o">\</span>&quot;&quot;<span class="p">,</span>
+      &quot;<span class="n">wt</span>&quot;<span class="p">:</span>&quot;<span class="n">json</span>&quot;<span class="p">}},</span>
+  &quot;<span class="n">response</span>&quot;<span class="p">:{</span>&quot;<span class="n">numFound</span>&quot;<span class="p">:</span>2<span class="p">,</span>&quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">,</span>&quot;<span class="n">docs</span>&quot;<span class="p">:[</span>
+      <span class="p">{</span>
+        &quot;<span class="n">id</span>&quot;<span class="p">:</span>&quot;<span class="n">VDBDB1A16</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">name</span>&quot;<span class="p">:</span>&quot;<span class="n">A</span><span class="o">-</span><span class="n">DATA</span> <span class="n">V</span><span class="o">-</span><span class="n">Series</span> 1<span class="n">GB</span> 184<span class="o">-</span><span class="n">Pin</span> <span class="n">DDR</span> <span class="n">SDRAM</span> <span class="n">Unbuffered</span> <span class="n">DDR</span> 400 <span class="p">(</span><span class="n">PC</span> 3200<span class="p">)</span> <span class="n">System</span> <span class="n">Memory</span> <span class="o">-</span> <span class="n">OEM</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">manu</span>&quot;<span class="p">:</span>&quot;<span class="n">A</span><span class="o">-</span><span class="n">DATA</span> <span class="n">Technology</span> <span class="n">Inc</span><span class="p">.</span>&quot;<span class="p">,</span>
+        &quot;<span class="n">manu_id_s</span>&quot;<span class="p">:</span>&quot;<span class="n">corsair</span>&quot;<span class="p">,</span>
+        &quot;<span class="nb">cat</span>&quot;<span class="p">:[</span>&quot;<span class="n">electronics</span>&quot;<span class="p">,</span> &quot;<span class="n">memory</span>&quot;<span class="p">],</span>
+        &quot;<span class="n">features</span>&quot;<span class="p">:[</span>&quot;<span class="n">CAS</span> <span class="n">latency</span> 3<span class="p">,</span><span class="o">\</span><span class="n">t</span> 2<span class="p">.</span>7<span class="n">v</span>&quot;<span class="p">],</span>
+<span class="p">...</span>
+</pre></div>
+
+
+<h4 id="combining-searches">Combining searches</h4>
+<p>By default, when you search for multiple terms and/or phrases in a single query, Solr will only require that one of them is present in order for a document to match.  Documents containing more terms will be sorted higher in the results list.</p>
+<p>You can require that a term or phrase is present by prefixing it with a "<code>+</code>"; conversely, to disallow the presence of a term or phrase, prefix it with a "<code>-</code>".</p>
+<p>To find documents that contain both terms "<code>one</code>" and "<code>three</code>", enter <code>+one +three</code> in the <code>q</code> param in the Admin UI <a href="http://localhost:8983/solr/#/collection1/query">Query tab</a>.  Because the "<code>+</code>" character has a reserved purpose in URLs (encoding the space character), you must URL encode it for <code>curl</code> as "<code>%2B</code>": </p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="c">%2Bone+%2Bthree&quot;</span>
+</pre></div>
+
+
+<p>To search for documents that contain the term "<code>two</code>" but <strong>don't</strong> contain the term "<code>one</code>", enter <code>+two -one</code> in the <code>q</code> param in the Admin UI.  Again, URL encode "<code>+</code>" as "<code>%2B</code>":</p>
+<div class="codehilite"><pre><span class="n">curl</span> &quot;<span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="c">%2Btwo+-one&quot;</span>
+</pre></div>
+
+
+<h4 id="in-depth">In depth</h4>
+<p>For more Solr search options, see the Solr Reference Guide's <a href="https://cwiki.apache.org/confluence/display/solr/Searching">Searching</a> section.</p>
+<h3 id="faceting">Faceting</h3>
+<p>One of Solr's most popular features is faceting.  Faceting allows the search results to be arranged into subsets (or buckets or categories), providing a count for each subset.  There are several types of faceting: field values, numeric and date ranges, pivots (decison tree), and arbitrary query faceting.  </p>
+<h4 id="field-facets">Field facets</h4>
+<p>In addition to providing search results, a Solr query can return the number of documents that contain each unique value in the whole result set.</p>
+<p>From the Admin UI <a href="http://localhost:8983/solr/#/collection1/query">Query tab</a>, if you check the "<code>facet</code>" checkbox, you'll see a few facet-related options appear:</p>
+<p><img style="border:1px solid #ccc" src="/solr/assets/images/quickstart-admin-ui-facet-options.png" alt="Solr Quick Start: Query tab facet options"/></p>
+<p>To see facet counts from all documents (<code>q=*:*</code>): turn on faceting (<code>facet=true</code>), and specify the field to facet on via the <code>facet.field</code> param.  If you only want facets, and no document contents, specify <code>rows=0</code>.  The <code>curl</code> command below will return facet counts for the <code>manu_id_s</code> field:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="o">&amp;</span><span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">q</span><span class="p">=</span><span class="o">*</span><span class="p">:</span><span class="o">*&amp;</span><span class="n">rows</span><span class="p">=</span>0 <span class="o">\</span>
+                                                   <span class="o">&amp;</span><span class="n">facet</span><span class="p">=</span><span class="n">true</span><span class="o">&amp;</span><span class="n">facet</span><span class="p">.</span><span class="n">field</span><span class="p">=</span><span class="n">manu_id_s</span>
+</pre></div>
+
+
+<p>In your terminal, you'll see:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="n">responseHeader</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">status</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">QTime</span>&quot;<span class="p">:</span>3<span class="p">,</span>
+    &quot;<span class="n">params</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">facet</span>&quot;<span class="p">:</span>&quot;<span class="n">true</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">indent</span>&quot;<span class="p">:</span>&quot;<span class="n">true</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">q</span>&quot;<span class="p">:</span>&quot;<span class="o">*</span><span class="p">:</span><span class="o">*</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">facet</span><span class="p">.</span><span class="n">field</span>&quot;<span class="p">:</span>&quot;<span class="n">manu_id_s</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">wt</span>&quot;<span class="p">:</span>&quot;<span class="n">json</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">rows</span>&quot;<span class="p">:</span>&quot;0&quot;<span class="p">}},</span>
+  &quot;<span class="n">response</span>&quot;<span class="p">:{</span>&quot;<span class="n">numFound</span>&quot;<span class="p">:</span>2990<span class="p">,</span>&quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">,</span>&quot;<span class="n">docs</span>&quot;<span class="p">:[]</span>
+  <span class="p">},</span>
+  &quot;<span class="n">facet_counts</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">facet_queries</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_fields</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">manu_id_s</span>&quot;<span class="p">:[</span>
+        &quot;<span class="n">corsair</span>&quot;<span class="p">,</span>3<span class="p">,</span>
+        &quot;<span class="n">belkin</span>&quot;<span class="p">,</span>2<span class="p">,</span>
+        &quot;<span class="n">canon</span>&quot;<span class="p">,</span>2<span class="p">,</span>
+        &quot;<span class="n">apple</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">asus</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">ati</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">boa</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">dell</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">eu</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">maxtor</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">nor</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">uk</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">viewsonic</span>&quot;<span class="p">,</span>1<span class="p">,</span>
+        &quot;<span class="n">samsung</span>&quot;<span class="p">,</span>0<span class="p">]},</span>
+    &quot;<span class="n">facet_dates</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_ranges</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_intervals</span>&quot;<span class="p">:{}}}</span>
+</pre></div>
+
+
+<h4 id="range-facets">Range facets</h4>
+<p>For numerics or dates, it's often desirable to partition the facet counts into ranges rather than discrete values.  A prime example of numeric range faceting, using the example product data, is <code>price</code>.  In the <code>/browse</code> UI, it looks like this:</p>
+<p><img style="border:1px solid #ccc" src="/solr/assets/images/quickstart-range-facet.png" alt="Solr Quick Start: Range facets"/></p>
+<p>The data for these price range facets can be seen in JSON format with this command:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">q</span><span class="p">=</span><span class="o">*</span><span class="p">:</span><span class="o">*&amp;</span><span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">on</span><span class="o">&amp;</span><span class="n">rows</span><span class="p">=</span>0<span class="o">&amp;</span><span class="n">facet</span><span class="p">=</span><span class="n">true</span> <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">=</span><span class="n">price</span> <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">start</span><span class="p">=</span>0 <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="k">end</span><span class="p">=</span>600 <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">gap</span><span class="p">=</span>50 <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">other</span><span class="p">=</span><span class="n">after</span>
+</pre></div>
+
+
+<p>In your terminal you will see:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  &quot;<span class="n">responseHeader</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">status</span>&quot;<span class="p">:</span>0<span class="p">,</span>
+    &quot;<span class="n">QTime</span>&quot;<span class="p">:</span>1<span class="p">,</span>
+    &quot;<span class="n">params</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">other</span>&quot;<span class="p">:</span>&quot;<span class="n">after</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">facet</span>&quot;<span class="p">:</span>&quot;<span class="n">true</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">indent</span>&quot;<span class="p">:</span>&quot;<span class="n">on</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">q</span>&quot;<span class="p">:</span>&quot;<span class="o">*</span><span class="p">:</span><span class="o">*</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">gap</span>&quot;<span class="p">:</span>&quot;50&quot;<span class="p">,</span>
+      &quot;<span class="n">facet</span><span class="p">.</span><span class="n">range</span>&quot;<span class="p">:</span>&quot;<span class="n">price</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="k">end</span>&quot;<span class="p">:</span>&quot;600&quot;<span class="p">,</span>
+      &quot;<span class="n">wt</span>&quot;<span class="p">:</span>&quot;<span class="n">json</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">f</span><span class="p">.</span><span class="n">price</span><span class="p">.</span><span class="n">facet</span><span class="p">.</span><span class="n">range</span><span class="p">.</span><span class="n">start</span>&quot;<span class="p">:</span>&quot;0&quot;<span class="p">,</span>
+      &quot;<span class="n">rows</span>&quot;<span class="p">:</span>&quot;0&quot;<span class="p">}},</span>
+  &quot;<span class="n">response</span>&quot;<span class="p">:{</span>&quot;<span class="n">numFound</span>&quot;<span class="p">:</span>2990<span class="p">,</span>&quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">,</span>&quot;<span class="n">docs</span>&quot;<span class="p">:[]</span>
+  <span class="p">},</span>
+  &quot;<span class="n">facet_counts</span>&quot;<span class="p">:{</span>
+    &quot;<span class="n">facet_queries</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_fields</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_dates</span>&quot;<span class="p">:{},</span>
+    &quot;<span class="n">facet_ranges</span>&quot;<span class="p">:{</span>
+      &quot;<span class="n">price</span>&quot;<span class="p">:{</span>
+        &quot;<span class="n">counts</span>&quot;<span class="p">:[</span>
+          &quot;0<span class="p">.</span>0&quot;<span class="p">,</span>19<span class="p">,</span>
+          &quot;50<span class="p">.</span>0&quot;<span class="p">,</span>1<span class="p">,</span>
+          &quot;100<span class="p">.</span>0&quot;<span class="p">,</span>0<span class="p">,</span>
+          &quot;150<span class="p">.</span>0&quot;<span class="p">,</span>2<span class="p">,</span>
+          &quot;200<span class="p">.</span>0&quot;<span class="p">,</span>0<span class="p">,</span>
+          &quot;250<span class="p">.</span>0&quot;<span class="p">,</span>1<span class="p">,</span>
+          &quot;300<span class="p">.</span>0&quot;<span class="p">,</span>1<span class="p">,</span>
+          &quot;350<span class="p">.</span>0&quot;<span class="p">,</span>2<span class="p">,</span>
+          &quot;400<span class="p">.</span>0&quot;<span class="p">,</span>0<span class="p">,</span>
+          &quot;450<span class="p">.</span>0&quot;<span class="p">,</span>1<span class="p">,</span>
+          &quot;500<span class="p">.</span>0&quot;<span class="p">,</span>0<span class="p">,</span>
+          &quot;550<span class="p">.</span>0&quot;<span class="p">,</span>0<span class="p">],</span>
+        &quot;<span class="n">gap</span>&quot;<span class="p">:</span>50<span class="p">.</span>0<span class="p">,</span>
+        &quot;<span class="n">start</span>&quot;<span class="p">:</span>0<span class="p">.</span>0<span class="p">,</span>
+        &quot;<span class="k">end</span>&quot;<span class="p">:</span>600<span class="p">.</span>0<span class="p">,</span>
+        &quot;<span class="n">after</span>&quot;<span class="p">:</span>2<span class="p">}},</span>
+    &quot;<span class="n">facet_intervals</span>&quot;<span class="p">:{}}}</span>
+</pre></div>
+
+
+<h4 id="pivot-facets">Pivot facets</h4>
+<p>Another faceting type is pivot facets, also known as "decison trees", allowing two or more fields to be nested for all the various possible combinations.  Using the example technical product data, pivot facets can be used to see how many of the products in the "book" category (the <code>cat</code> field) are in stock or not in stock.  Here's how to get at the raw data for this scenario:</p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>8983<span class="o">/</span><span class="n">solr</span><span class="o">/</span><span class="n">collection1</span><span class="o">/</span><span class="n">select</span>?<span class="n">q</span><span class="p">=</span><span class="o">*</span><span class="p">:</span><span class="o">*&amp;</span><span class="n">rows</span><span class="p">=</span>0<span class="o">&amp;</span><span class="n">wt</span><span class="p">=</span><span class="n">json</span><span class="o">&amp;</span><span class="n">indent</span><span class="p">=</span><span class="n">on</span> <span class="o">\</span>
+                                                  <span class="o">&amp;</span><span class="n">facet</span><span class="p">=</span><span class="n">on</span><span class="o">&amp;</span><span class="n">facet</span><span class="p">.</span><span class="n">pivot</span><span class="p">=</span><span class="nb">cat</span><span class="p">,</span><span class="n">inStock</span>
+</pre></div>
+
+
+<p>This results in the following response (trimmed to just the book category output), which says out of 14 items in the "book" category, 12 are in stock and 2 are not in stock:</p>
+<div class="codehilite"><pre><span class="p">...</span>
+&quot;<span class="n">facet_pivot</span>&quot;<span class="p">:{</span>
+  &quot;<span class="nb">cat</span><span class="p">,</span><span class="n">inStock</span>&quot;<span class="p">:[{</span>
+      &quot;<span class="n">field</span>&quot;<span class="p">:</span>&quot;<span class="nb">cat</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">value</span>&quot;<span class="p">:</span>&quot;<span class="n">book</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">count</span>&quot;<span class="p">:</span>14<span class="p">,</span>
+      &quot;<span class="n">pivot</span>&quot;<span class="p">:[{</span>
+          &quot;<span class="n">field</span>&quot;<span class="p">:</span>&quot;<span class="n">inStock</span>&quot;<span class="p">,</span>
+          &quot;<span class="n">value</span>&quot;<span class="p">:</span><span class="n">true</span><span class="p">,</span>
+          &quot;<span class="n">count</span>&quot;<span class="p">:</span>12<span class="p">},</span>
+        <span class="p">{</span>
+          &quot;<span class="n">field</span>&quot;<span class="p">:</span>&quot;<span class="n">inStock</span>&quot;<span class="p">,</span>
+          &quot;<span class="n">value</span>&quot;<span class="p">:</span><span class="n">false</span><span class="p">,</span>
+          &quot;<span class="n">count</span>&quot;<span class="p">:</span>2<span class="p">}]},</span>
+<span class="p">...</span>
+</pre></div>
+
+
+<h4 id="more-faceting-options">More faceting options</h4>
+<p>For the full scoop on Solr faceting, visit the Solr Reference Guide's <a href="https://cwiki.apache.org/confluence/display/solr/Faceting">Faceting</a> section.</p>
+<h3 id="spatial">Spatial</h3>
+<p>Solr has sophisticated geospatial support, including searching within a specified distance range of a given location (or within a bounding box), sorting by distance, or even boosting results by the distance.  Some of the example tech product documents in <code>example/exampledocs/*.xml</code> have locations associated with them to illustrate the spatial capabilities.  Spatial queries can be combined with any other types of queries, such as in this example of querying for "ipod" within 10 kilometers from San Francisco:</p>
+<p><img style="border:1px solid #ccc" src="/solr/assets/images/quickstart-spatial.png" alt="Solr Quick Start: spatial search" class="float-right"/></p>
+<p>The URL to this example is <a href="http://localhost:8983/solr/collection1/browse?q=ipod&amp;pt=37.7752%2C-122.4232&amp;d=10&amp;sfield=store&amp;fq=%7B%21bbox%7D&amp;queryOpts=spatial&amp;queryOpts=spatial">http://localhost:8983/solr/collection1/browse?q=ipod&amp;pt=37.7752%2C-122.4232&amp;d=10&amp;sfield=store&amp;fq=%7B%21bbox%7D&amp;queryOpts=spatial&amp;queryOpts=spatial</a>, leveraging the <code>/browse</code> UI to show a map for each item and allow easy selection of the location to search near.</p>
+<p>To learn more about Solr's spatial capabilities, see the Solr Reference Guide's <a href="https://cwiki.apache.org/confluence/display/solr/Spatial+Search">Spatial Search</a> section.</p>
+<h2 id="wrapping-up">Wrapping up</h2>
+<p>If you've run the full set of commands in this quick start guide you have done the following:</p>
 <ul>
-<li><a href="http://www.apache.org">Apache Software Foundation</a></li>
-<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-<li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
-<li><a href="http://www.apache.org/security/">Security</a></li>
+<li>Launched Solr into SolrCloud mode, two nodes, two collections including shards and replicas</li>
+<li>Indexed a directory of rich text files</li>
+<li>Indexed Solr XML files</li>
+<li>Indexed Solr JSON files</li>
+<li>Indexed CSV content</li>
+<li>Opened the admin console, used its query interface to get JSON formatted results</li>
+<li>Opened the /browse interface to explore Solr's features in a more friendly and familiar interface</li>
 </ul>
-<h1 id="related-projects">Related Projects</h1>
+<p>Nice work!   The script (see below) to run all of these items took under two minutes! (Your run time may vary, depending on your computer's power and resources available.)</p>
+<p>Here's a Unix script for convenient copying and pasting in order to run the key commands for this quick start guide:</p>
+<div class="codehilite"><pre>export CLASSPATH=dist/solr-core-4.10.2.jar
+date ;
+bin/solr start -e cloud -noprompt ; 
+  open http://localhost:8983/solr ;
+  java -Dauto -Drecursive org.apache.solr.util.SimplePostTool docs/ ; 
+  open http://localhost:8983/solr/collection1/browse ;
+  java org.apache.solr.util.SimplePostTool example/exampledocs/*.xml ;
+  java -Dauto org.apache.solr.util.SimplePostTool example/exampledocs/books.json ;
+  java -Dauto org.apache.solr.util.SimplePostTool example/exampledocs/books.csv ;
+  open &quot;http://localhost:8983/solr/#/collection1/plugins/core?entry=searcher&quot; ;
+  java -Ddata=args org.apache.solr.util.SimplePostTool &quot;<span class="nt">&lt;delete&gt;&lt;id&gt;</span>SP2514N<span class="nt">&lt;/id&gt;&lt;/delete&gt;</span>&quot; ;
+  bin/solr healthcheck -c collection1 ;
+date ;
+</pre></div>
+
+
+<h2 id="cleanup">Cleanup</h2>
+<p>As you work through this guide, you may want to stop Solr and reset the environment back to the starting point.  The following command line will stop Solr and remove the directories for each of the two nodes that the start script created:</p>
+<div class="codehilite"><pre><span class="n">bin</span><span class="o">/</span><span class="n">solr</span> <span class="n">stop</span> <span class="o">-</span><span class="n">all</span> <span class="p">;</span> <span class="n">rm</span> <span class="o">-</span><span class="n">Rf</span> <span class="n">node1</span><span class="o">/</span> <span class="n">node2</span><span class="o">/</span>
+</pre></div>
+
+
+<h2 id="where-to-next">Where to next?</h2>
+<p>For more information on Solr, check out the following resources:</p>
 <ul>
-<li><a href="http://hadoop.apache.org">Apache Hadoop</a></li>
-<li><a href="http://manifoldcf.apache.org/">Apache ManifoldCF</a></li>
-<li><a href="http://lucenenet.apache.org/">Apache Lucene.Net</a></li>
-<li><a href="http://lucy.apache.org/">Apache Lucy</a></li>
-<li><a href="http://mahout.apache.org">Apache Mahout</a></li>
-<li><a href="http://nutch.apache.org">Apache Nutch</a></li>
-<li><a href="http://opennlp.apache.org/">Apache OpenNLP</a></li>
-<li><a href="http://tika.apache.org">Apache Tika</a></li>
-<li><a href="http://zookeeper.apache.org">Apache Zookeeper</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide">Solr Reference Guide</a> (ensure you match the version of the reference guide with your version of Solr)</li>
+<li>See also additional <a href="/solr/resources.html">Resources</a></li>
 </ul>
-    <div class="status">
-      <div id="svn">
-        <h1>Latest SVN</h1>
-
-        
-          <div class="status-item">Not Available</div>
         
       </div>
-
-      <!--div id="solr-twitter">
-        <h1>#solr</h1>
-        
-          <div class="status-item">Not Available</div>
-        
-      </div-->
     </div>
-  </span>
-</div>
-
 
   </div>
-  <div id="footer">
-  <div class="copyright">
-    <p>
-      Copyright &copy; 2011-2012 The Apache Software Foundation, Licensed under
-      the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.  <a href="/privacy.html">Privacy Policy</a>
-      <br/>
-      Apache and the Apache feather logo are trademarks of The Apache Software Foundation.  Apache Lucene, Apache Solr and their
-      respective logos are trademarks of the Apache Software Foundation.  Please see the <a href="http://www.apache.org/foundation/marks/">Apache Trademark Policy</a>
-      for more information.
-    </p>
-  </div>
-</div>
-
-</div>
+    
+    <footer>
+  <div class="row">
+    <div class="small-6 medium-3 columns">
+      <h4>Features</h4>
+      <ul>
+        <li><a href="/solr/features.html">Overview</a></li>
+        <li><a href="/solr/features.html#schema">Data Handling</a></li>
+        <li><a href="/solr/features.html#query">Querying</a></li>
+        <li><a href="/solr/features.html#facets">Faceting</a></li>
+        <li><a href="/solr/features.html#discovery">Discovery</a></li>
+        <li><a href="/solr/features.html#plugins">Plugins and Extensions</a></li>
+        <li><a href="/solr/features.html#stats">Statistics and Aggregations</a></li>
+        <li><a href="/solr/features.html#spatial">Spatial</a></li>
+        <li><a href="/solr/features.html#rich-content">Rich Content</a></li>
+        <li><a href="/solr/features.html#performance">Performance</a></li>
+        <li><a href="/solr/features.html#solrcloud">Scaling with SolrCloud</a></li>
+        <li><a href="/solr/features.html#admin-ui">User Interface</a></li>
+      </ul>
+    </div>
+    <div class="small-6 medium-3 columns">
+      <h4>Resources</h4>
+      <ul>
+        <li><a href="/solr/resources.html#tutorial">Tutorial</a></li>
+        <li><a href="/solr/resources.html#documentation">Docs</a></li>
+        <li><a href="/solr/resources.html#solr-books">Books</a></li>
+        <li><a href="/solr/resources.html#presentations">Presentations</a></li>
+        <li><a href="/solr/resources.html#videos">Videos</a></li>
+        <li><a href="/solr/resources.html#community">Solr Community</a></li>
+      </ul>
+    </div>
+    <div class="small-6 medium-3 columns">
+      <h4>Get Started</h4>
+      <ul>
+        <li><a href="/solr/mirrors-solr-latest-redir.html">Download</a></li>
+        <li><a href="/solr/tutorials.html">Run Through the Tutorial</a></li>
+        <li><a href="/solr/resources.html">Level Up</a></li>
+      </ul>
+    </div>
+    <div class="small-6 medium-3 columns">
+      <h4>Related Projects</h4>
+      <ul>
+        <li><a href="http://hadoop.apache.org/">Apache Hadoop</a></li>
+        <li><a href="http://manifoldcf.apache.org/">Apache ManifoldCF</a></li>
+        <li><a href="http://mahout.apache.org/">Apache Mahout</a></li>
+        <li><a href="http://nutch.apache.org/">Apache Nutch</a></li>
+        <li><a href="http://opennlp.apache.org/">Apache OpenNLP</a></li>
+        <li><a href="http://tika.apache.org/">Apache Tika</a></li>
+        <li><a href="http://zookeeper.apache.org/">Apache Zookeeper</a></li>
+      </ul>
+    </div>
+  </div>
+  <div class="row copyright">
+    <div class="large-centered columns">
+      <p>Copyright © 2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Privacy Policy<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Apache Lucene, Apache Solr and their respective logos are trademarks of the Apache Software Foundation. Please see the Apache Trademark Policy for more information.  All non-Apache logos are the trademarks of their respective owners.</p>
+    </div>
+  </div>
+</footer>
+
+<script>
+  $(document).foundation();
+</script>
+<script>
+$(document).ready(function(){
+    $('.slider').slick({
+      infinite: false,
+      speed: 300,
+      slidesToShow: 6,
+      slidesToScroll: 6,
+      responsive: [
+        {
+          breakpoint: 1024,
+          settings: {
+            slidesToShow: 4,
+            slidesToScroll: 4,
+            infinite: true
+          }
+        },
+        {
+          breakpoint: 600,
+          settings: {
+            slidesToShow: 3,
+            slidesToScroll: 3
+          }
+        },
+        {
+          breakpoint: 480,
+          settings: {

[... 33 lines stripped ...]