1--TEST-- 2SolrClient::addDocument() - Sending a document with child documents 3--SKIPIF-- 4<?php require_once 'skip.if.server_not_configured.inc'; ?> 5--FILE-- 6<?php 7 8require_once "bootstrap.inc"; 9 10$options = array 11( 12 'hostname' => SOLR_SERVER_HOSTNAME, 13 'login' => SOLR_SERVER_USERNAME, 14 'password' => SOLR_SERVER_PASSWORD, 15 'port' => SOLR_SERVER_PORT, 16 'path' => SOLR_SERVER_PATH 17); 18 19$client = new SolrClient($options); 20 21$doc = new SolrInputDocument(); 22 23$doc->addField('id', 'CTEST_1'); 24$doc->addField('title', 'Solr adds block join support'); 25$doc->addField('content_type', 'parentDocument'); 26 27$doc2 = new SolrInputDocument(); 28$doc2->addField('id', 'CTEST_2'); 29$doc2->addField('comment_t', 'SolrCloud supports it too!'); 30 31$doc3 = new SolrInputDocument(); 32$doc3->addField('id', 'CTEST_3'); 33$doc3->addField('comment_t', 'Lots of features'); 34 35$doc->addChildDocument($doc2); 36$doc->addChildDocument($doc3); 37 38$doc4 = new SolrInputDocument(); 39$doc4->addField('id', 'CTEST_4'); 40$doc4->addField('comment_t', 'Child Child'); 41 42$doc3->addChildDocument($doc4); 43 44$docs = $doc->getChildDocuments(); 45$docs[0]->addField('one_more_field_t', 'testing'); 46 47$updateResponse = $client->addDocument($doc); 48print_r($updateResponse->getRawRequest()); 49print_r($updateResponse->getResponse()); 50$client->commit(); 51?> 52--EXPECTF-- 53<?xml version="1.0" encoding="UTF-8"?> 54<add overwrite="true"> 55 <doc> 56 <field name="id">CTEST_1</field> 57 <field name="title">Solr adds block join support</field> 58 <field name="content_type">parentDocument</field> 59 <doc> 60 <field name="id">CTEST_2</field> 61 <field name="comment_t">SolrCloud supports it too!</field> 62 <field name="one_more_field_t">testing</field> 63 </doc> 64 <doc> 65 <field name="id">CTEST_3</field> 66 <field name="comment_t">Lots of features</field> 67 <doc> 68 <field name="id">CTEST_4</field> 69 <field name="comment_t">Child Child</field> 70 </doc> 71 </doc> 72 </doc> 73</add> 74SolrObject Object 75( 76 [responseHeader] => SolrObject Object 77 ( 78 [status] => %d 79 [QTime] => %d 80 ) 81 82)