在线文档教程
PHP
Solr

SolrInputDocument::addChildDocument

SolrInputDocument::addChildDocument

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocument — Adds a child document for block indexing

Description

public void SolrInputDocument::addChildDocument ( SolrInputDocument $child )

Adds a child document to construct a document block with nested documents.

Parameters

child

A SolrInputDocument object.

Errors/Exceptions

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Return Values

Examples

Example #1 SolrInputDocument::addChildDocument() 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  $product->addChildDocument($small $product->addChildDocument($medium $product->addChildDocument($large // add 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()

The above example will output something similar to:

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

See Also

  • SolrInputDocument::addChildDocuments() - Adds an array of child documents

  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents

  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)

  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents

← SolrInputDocument

SolrInputDocument::addChildDocuments →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/solrinputdocument.addchilddocument.php