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
Last updated: Fri, 20 May 2011

view this page in

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocumentsAñade una colección de instancias de SolrInputDocument al índice

Descripción

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

Añade una colección de documentos al índice.

Parámetros

docs

Una matriz que contiene la colección de instancias de SolrInputDocument. Esta matriz debe ser una variable real.

allowDups

Si se establece a FALSE los duplicados serán sobrescritos.

commitWithin

Número de milisegundos dentro de los cuales enviar los documentos al índice. Sólo está disponible desde Solr 1.4

Valores devueltos

Devuelve un objeto SolrUpdateResponse en caso de éxito y lanza una excepción SolrClientException en caso de fallo.

Ejemplos

Example #1 Ejemplo de SolrClient::addDocuments()

<?php

$opciones 
= array
(
    
'hostname' => SOLR_SERVER_HOSTNAME,
    
'login'    => SOLR_SERVER_USERNAME,
    
'password' => SOLR_SERVER_PASSWORD,
    
'port'     => SOLR_SERVER_PORT,
);

$cliente = new SolrClient($opciones);

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

$respuestaActualización $cliente->addDocuments($docs);

print_r($respuestaActualización->getResponse());

?>

El resultado del ejemplo sería algo similar a:

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

)

Ver también



add a note add a note User Contributed Notes SolrClient::addDocuments
bjorn at bjorn-erik dot biz 23-Sep-2010 01: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