首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index

Description

代码语言:javascript
复制
public void SolrClient::addDocuments ( array $docs [, bool $overwrite = true [, int $commitWithin = 0 ]] )

Adds a collection of documents to the index.

Parameters

docs

An array containing the collection of SolrInputDocument instances. This array must be an actual variable.

overwrite

Whether to overwrite existing documents or not. If FALSE there will be duplicates (several documents with the same ID).

Warning

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

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.

Return Values

Returns a SolrUpdateResponse object or throws an exception on failure.

Errors/Exceptions

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Examples

Example #1 SolrClient::addDocuments() example

代码语言:javascript
复制
<?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());

?>

The above example will output something similar to:

代码语言:javascript
复制
SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

See Also

  • SolrClient::addDocument() - Adds a document to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index

← SolrClient::addDocument

SolrClient::commit →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com