| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 
 | <?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="solrclient.adddocuments" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>SolrClient::addDocuments</refname>
  <refpurpose>Adds a collection of SolrInputDocument instances to the index</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <modifier>public</modifier> <type>void</type><methodname>SolrClient::addDocuments</methodname>
   <methodparam><type>array</type><parameter>docs</parameter></methodparam>
   <methodparam choice="opt"><type>bool</type><parameter>overwrite</parameter><initializer>&true;</initializer></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>commitWithin</parameter><initializer>0</initializer></methodparam>
  </methodsynopsis>
  <para>
   Adds a collection of documents to the index.
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>docs</parameter></term>
     <listitem>
      <para>
       An array containing the collection of SolrInputDocument instances. This array must be an actual variable.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>overwrite</parameter></term>
     <listitem>
      <para>
       Whether to overwrite existing documents or not. If &false; there will be duplicates (several documents with the same ID).
        
      </para>
        <warning>
            <para>
              PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.
            </para>
            <para>
              $allowDups = false is the same as $overwrite = true
            </para>
        </warning>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>commitWithin</parameter></term>
     <listitem>
      <para>
        Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.
      </para>
      <para>
        When this value specified, it leaves the control of when to do the commit
        to Solr itself, optimizing number of commits to a minimum while still
        fulfilling
        the update latency requirements, and Solr will automatically do a commit
        when the oldest add in the buffer is due.
       </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
    Returns a <type>SolrUpdateResponse</type> object or throws an exception on failure.
  </para>
 </refsect1>
 
 <refsect1 role="errors">
  &reftitle.errors;
  <para>
   Throws <classname>SolrClientException</classname> if the client had failed, or there was a connection issue.
  </para>
  <para>
   Throws <classname>SolrServerException</classname> if the Solr Server had failed to process the request.
  </para>
 </refsect1>
 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><methodname>SolrClient::addDocuments</methodname> example</title>
    <programlisting role="php">
<![CDATA[
<?php
$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc2 = clone $doc;
$doc2->deleteField('id');
$doc2->addField('id', 334456);
$docs = array($doc, $doc2);
$updateResponse = $client->addDocuments($docs);
// no changes will be written to disk unless $commitWithin is passed or SolrClient::commit is called
print_r($updateResponse->getResponse());
?>
]]>
    </programlisting>
    &example.outputs.similar;
    <screen>
<![CDATA[
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )
)
]]>
    </screen>
   </example>
  </para>
 </refsect1>
 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><methodname>SolrClient::addDocument</methodname></member>
    <member><methodname>SolrClient::commit</methodname></member>
   </simplelist>
  </para>
 </refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
 |