SolrInputDocument::addChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocumentsAdds an array of child documents

说锟斤拷

public SolrInputDocument::addChildDocuments ( array &$docs ) : void

Adds an array of child documents to the current input document.

锟斤拷锟斤拷

docs

An array of SolrInputDocument objects.

锟斤拷锟斤拷锟届常

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

锟斤拷锟斤拷值

锟斤拷锟斤拷

Example #1 SolrInputDocument::addChildDocuments() example

<?php

include "bootstrap.php";

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

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id''P-BLACK');
$product->addField('cat''tshirt');
$product->addField('cat''polo');
$product->addField('content_type''product');

$small = new SolrInputDocument();
$small->addField('id''TS-BLK-S');
$small->addField('content_type''sku');
$small->addField('size''S');
$small->addField('inventory'100);

$medium = new SolrInputDocument();
$medium->addField('id''TS-BLK-M');
$medium->addField('content_type''sku');
$medium->addField('size''M');
$medium->addField('inventory'200);

$large = new SolrInputDocument();
$large->addField('id''TS-BLK-L');
$large->addField('content_type''sku');
$large->addField('size''L');
$large->addField('inventory'300);

// add child documents 
$skus = [$small$medium$large];
$product->addChildDocuments($skus);

// add the product document block to the index
$updateResponse $client->addDocument(
        
$product,
        
true// overwrite if the document exists
        
10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�

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

锟轿硷拷