Viewing File: /opt/alt/tests/alt-php82-pecl-solr_2.7.0-1.el8/tests/059.solrinputdocument_merge.phpt
--TEST--
SolrInputDocument::merge - Merge 2 docs
--FILE--
<?php
require_once "bootstrap.inc";
$doc = new SolrInputDocument();
$doc->addField('id', 1123);
$doc->addField('features', "PHP Client Side", 4);
$doc->addField('features', "Fast development cycles");
$doc->addField('cat', 'Information Technology');
separator('original document');
print_r($doc->toArray());
$doc2 = new SolrInputDocument();
$doc2->addField('cat', 'Lucene Search');
$doc2->merge($doc, true); // merge doc into doc2, overwrite cat
separator('merge overwrite (cat field merged ?)');
print_r($doc->getField('cat')->values);
var_dump($doc->fieldExists('features'));
print_r($doc2->toArray());
$doc3 = new SolrInputDocument();
$doc3->addField('manu_s_id', 'apache');
$doc3->addField('id', '124');
$doc3->merge($doc, false); // do not overwrite
separator('merge without overwrite');
print_r($doc3->getField('id')->values);
separator('END');
?>
--EXPECT--
============================== original document ===============================
Array
(
[document_boost] => 0
[field_count] => 3
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 1123
)
)
[1] => SolrDocumentField Object
(
[name] => features
[boost] => 4
[values] => Array
(
[0] => PHP Client Side
[1] => Fast development cycles
)
)
[2] => SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Information Technology
)
)
)
)
===================== merge overwrite (cat field merged ?) =====================
Array
(
[0] => Information Technology
)
bool(true)
Array
(
[document_boost] => 0
[field_count] => 3
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Information Technology
)
)
[1] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 1123
)
)
[2] => SolrDocumentField Object
(
[name] => features
[boost] => 4
[values] => Array
(
[0] => PHP Client Side
[1] => Fast development cycles
)
)
)
)
=========================== merge without overwrite ============================
Array
(
[0] => 124
)
===================================== END ======================================
Back to Directory
File Manager
<