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.

Возвращаемые значения

Примеры

Пример #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
        )
)

Смотрите также