PHP Doku:: Adds a collection of SolrInputDocument instances to the index - solrclient.adddocuments.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSuchmaschinenerweiterungenApache SolrThe SolrClient classSolrClient::addDocuments

Ein Service von Reinhard Neidl - Webprogrammierung.

The SolrClient class

<<SolrClient::addDocument

SolrClient::commit>>

SolrClient::addDocuments

(PECL solr >= 0.9.2)

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

Beschreibung

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

Adds a collection of documents to the index.

Parameter-Liste

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

Rückgabewerte

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

Beispiele

Beispiel #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());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

)

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
bjorn at bjorn-erik dot biz
23.09.2010 15: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);
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)