Viewing File: /opt/alt/tests/alt-php82-pecl-solr_2.7.0-1.el8/tests/001.solrclient_addDocument_partial.phpt
--TEST--
SolrClient::addDocumnt() - Partial Update (integration)
--SKIPIF--
<?php require_once 'skip.if.server_not_configured.inc'; ?>
--FILE--
<?php
require_once "bootstrap.inc";
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$printDocument = function() use ($client) {
$response = $client->getById('testing_partials');
print_r($response->getResponse());
};
// clean up, before running the test
$client->deleteById('testing_partials');
$client->commit();
$initialDoc = new SolrInputDocument();
$initialDoc->addField('id', 'testing_partials');
$initialDoc->addField('field1', 'existing value');
$initialDoc->addField('field1', 'remove me please');
$initialDoc->addField('field1', '15/01/2007');
$initialDoc->addField('field2_s', 'initialField');
$initialDoc->addField('field3_i', 0);
$initialDoc->addField('field4', 'val1');
$initialDoc->addField('field5_s', 'unmodified field');
$client->addDocument($initialDoc);
$client->commit();
separator('INITIAL');
$printDocument();
$doc = new SolrInputDocument();
$doc->addField('id', 'testing_partials');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_ADD, 'newly added value');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVE, 'remove me please');
$doc->updateField('field3_i', SolrInputDocument::UPDATE_MODIFIER_INC, 5);
$doc->updateField('field2_s', SolrInputDocument::UPDATE_MODIFIER_SET, 'updated string');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVEREGEX, '[\d]{2}/[\d]{2}/[\d]{4}');
$response = $client->addDocument($doc);
$client->commit();
separator('RAW REQUEST');
print_r($response->getRawRequest());
$client->commit();
separator('RESULT AFTER UPDATE');
$printDocument();
?>
--EXPECTF--
=================================== INITIAL ====================================
SolrObject Object
(
[doc] => SolrObject Object
(
[id] => testing_partials
[field1] => Array
(
[0] => existing value
[1] => remove me please
[2] => 15/01/2007
)
[field2_s] => initialField
[field3_i] => 0
[field4] => Array
(
[0] => val1
)
[field5_s] => unmodified field
[_version_] => %d
)
)
================================= RAW REQUEST ==================================
<?xml version="1.0" encoding="UTF-8"?>
<add overwrite="true">
<doc>
<field name="id">testing_partials</field>
<field name="field1" update="add">newly added value</field>
<field name="field1" update="remove">remove me please</field>
<field name="field1" update="removeregex">[\d]{2}/[\d]{2}/[\d]{4}</field>
<field name="field3_i" update="inc">5</field>
<field name="field2_s" update="set">updated string</field>
</doc>
</add>
============================= RESULT AFTER UPDATE ==============================
SolrObject Object
(
[doc] => SolrObject Object
(
[id] => testing_partials
[field1] => Array
(
[0] => existing value
[1] => newly added value
)
[field2_s] => updated string
[field3_i] => 5
[field4] => Array
(
[0] => val1
)
[field5_s] => unmodified field
[_version_] => %d
)
)
Back to Directory
File Manager
<