diff --git a/solr_connection.inc b/solr_connection.inc
index 7e0f463..75b031f 100644
--- a/solr_connection.inc
+++ b/solr_connection.inc
@@ -126,6 +126,59 @@ class SearchApiSolrConnection extends Apache_Solr_Service {
   }
 
   /**
+   * Add a Solr Document to the index.
+   *
+   * @throws Exception
+   *   If an error occurs during the service call.
+   */
+  public function addDocument(Apache_Solr_Document $document, $allowDups = false, $overwritePending = true, $overwriteCommitted = true) {
+    return $this->addDocuments(array($document), $allowDups, $overwritePending, $overwriteCommitted);
+  }
+
+  /**
+   * Add an array of Solr Documents to the index all at once.
+   *
+   * @throws Exception
+   *   If an error occurs during the service call.
+   */
+  public function addDocuments($documents, $allowDups = false, $overwritePending = true, $overwriteCommitted = true) {
+    $rawPost = '';
+
+    foreach ($documents as $document) {
+      if ($document instanceof Apache_Solr_Document) {
+        $rawPost .= $this->_documentToXmlFragment($document);
+      }
+    }
+
+    $rawPost = $this->wrapAddDocuments($rawPost, $allowDups, $overwritePending, $overwriteCommitted);
+
+    return $this->add($rawPost);
+  }
+
+  /**
+   * Helper method to wrap added documents into an <add> element.
+   *
+   * Can be used by subclasses to override attributes, etc.
+   *
+   * @param $docsXml
+   *   XML containing the Solr docs to be added to the index.
+   *
+   * @return
+   *   XML containing a Solr <add> command with the given docs.
+   */
+  protected function wrapAddDocuments($docsXml, $allowDups = false, $overwritePending = true, $overwriteCommitted = true) {
+    $dupValue = $allowDups ? 'true' : 'false';
+    $pendingValue = $overwritePending ? 'true' : 'false';
+    $committedValue = $overwriteCommitted ? 'true' : 'false';
+
+    $rawPost = '<add commitWithin="120000" allowDups="' . $dupValue . '" overwritePending="' . $pendingValue . '" overwriteCommitted="' . $committedValue . '">';
+    $rawPost .= $docsXml;
+    $rawPost .= '</add>';
+
+    return $rawPost;
+  }
+
+  /**
    * Helper method for making an HTTP request, without using stupid stuff like
    * file_get_contents().
    */
diff --git a/solrconfig.xml b/solrconfig.xml
index d2e6411..6eabbbe 100644
--- a/solrconfig.xml
+++ b/solrconfig.xml
@@ -234,10 +234,12 @@
          Instead of enabling autoCommit, consider using "commitWithin"
          when adding documents. http://wiki.apache.org/solr/UpdateXmlMessages
     -->
+    <!--
     <autoCommit>
       <maxDocs>2000</maxDocs>
       <maxTime>120000</maxTime>
     </autoCommit>
+    -->
 
 
     <!-- The RunExecutableListener executes an external command from a
