$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 $product->addChildDocument($small); $product->addChildDocument($medium); $product->addChildDocument($large); // or // $skus = [$small, $medium, $large]; // $product->addChildDocuments($skus); // add product document to the index $updateResponse = $client->addDocument($product, true, 10000); print_r($updateResponse->getResponse()); /* OUTPUT SIMILAR TO: SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 5