downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

SolrClient::commit> <SolrClient::addDocument
[edit] Last updated: Fri, 23 Mar 2012

view this page in

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocumentsAdds a collection of SolrInputDocument instances to the index

Açıklama

public void SolrClient::addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )

Adds a collection of documents to the index.

Değiştirgeler

docs

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

allowDups

If FALSE duplicates will be overwritten.

commitWithin

Number of milliseconds within which to commit the documents to the index. This was only available since Solr 1.4

Dönen Değerler

Returns a SolrUpdateResponse object on success and throws a SolrClientException on failure.

Örnekler

Örnek 1 SolrClient::addDocuments() example

<?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);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Ayrıca Bakınız



add a note add a note User Contributed Notes SolrClient::addDocuments
bjorn at bjorn-erik dot biz 23-Sep-2010 06:07
If you want to add a bunch of documents from a database, this would be the way to go, assuming you have fetched the records from the database and put them in an array called $recordset:

<?php
foreach ($recordset as $key=>$value){
  
$docs_array[$key] = new SolrInputDocument();
  
$docs_array[$key]->addField('id', $value['document_id']);
  
$docs_array[$key]->addField('name',$value['document_name']);
}
$client->addDocuments($docs_array);
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites