SolrInputDocument::addChildDocuments
(PECL solr >= 2.3.0)
SolrInputDocument::addChildDocuments — Adds an array of child documents
Description
public void SolrInputDocument::addChildDocuments ( array &$docs )
Adds an array of child documents to the current input document.
Parameters
docs
An array of SolrInputDocument objects.
Errors/Exceptions
Throws SolrIllegalArgumentException on failure.
Throws SolrException on internal failure.
Return Values
Examples
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());
The above example will output something similar to:
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => 0
[QTime] => 5
)
)
See Also
- SolrInputDocument::addChildDocument() - Adds a child document for block indexing
- 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::addChildDocument
SolrInputDocument::addField →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com