本文整理汇总了PHP中Elastica\Script::getScript方法的典型用法代码示例。如果您正苦于以下问题:PHP Script::getScript方法的具体用法?PHP Script::getScript怎么用?PHP Script::getScript使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Elastica\Script
的用法示例。
在下文中一共展示了Script::getScript方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testConstructor
public function testConstructor()
{
$value = "_score * doc['my_numeric_field'].value";
$script = new Script($value);
$expected = array('script' => $value);
$this->assertEquals($value, $script->getScript());
$this->assertEquals($expected, $script->toArray());
$params = array('param1' => 'one', 'param2' => 10);
$script = new Script($value, $params);
$expected = array('script' => $value, 'params' => $params);
$this->assertEquals($value, $script->getScript());
$this->assertEquals($params, $script->getParams());
$this->assertEquals($expected, $script->toArray());
$lang = 'mvel';
$script = new Script($value, $params, $lang);
$expected = array('script' => $value, 'params' => $params, 'lang' => $lang);
$this->assertEquals($value, $script->getScript());
$this->assertEquals($params, $script->getParams());
$this->assertEquals($lang, $script->getLang());
$this->assertEquals($expected, $script->toArray());
}
示例2: testSetScript
/**
* @group unit
*/
public function testSetScript()
{
$script = new Script('foo');
$this->assertEquals('foo', $script->getScript());
$script->setScript('bar');
$this->assertEquals('bar', $script->getScript());
$this->assertInstanceOf('Elastica\\Script', $script->setScript('foo'));
}
示例3: updateDocument
/**
* Update document, using update script. Requires elasticsearch >= 0.19.0
*
* @param int $id document id
* @param array|\Elastica\Script|\Elastica\Document $data raw data for request body
* @param string $index index to update
* @param string $type type of index to update
* @param array $options array of query params to use for query. For possible options check es api
* @return \Elastica\Response
* @link http://www.elasticsearch.org/guide/reference/api/update.html
*/
public function updateDocument($id, $data, $index, $type, array $options = array())
{
$path = $index . '/' . $type . '/' . $id . '/_update';
if ($data instanceof Script) {
$requestData = $data->toArray();
} elseif ($data instanceof Document) {
if ($data->hasScript()) {
$requestData = $data->getScript()->toArray();
$documentData = $data->getData();
if (!empty($documentData)) {
$requestData['upsert'] = $documentData;
}
} else {
$requestData = array('doc' => $data->getData());
}
$docOptions = $data->getOptions(array('version', 'version_type', 'routing', 'percolate', 'parent', 'fields', 'retry_on_conflict', 'consistency', 'replication', 'refresh', 'timeout'));
$options += $docOptions;
// set fields param to source only if options was not set before
if (($data->isAutoPopulate() || $this->getConfigValue(array('document', 'autoPopulate'), false)) && !isset($options['fields'])) {
$options['fields'] = '_source';
}
} else {
$requestData = $data;
}
if (!isset($options['retry_on_conflict'])) {
$retryOnConflict = $this->getConfig("retryOnConflict");
$options['retry_on_conflict'] = $retryOnConflict;
}
$response = $this->request($path, Request::POST, $requestData, $options);
if ($response->isOk() && $data instanceof Document && ($data->isAutoPopulate() || $this->getConfigValue(array('document', 'autoPopulate'), false))) {
$responseData = $response->getData();
if (isset($responseData['_version'])) {
$data->setVersion($responseData['_version']);
}
if (isset($options['fields'])) {
$this->_populateDocumentFieldsFromResponse($response, $data, $options['fields']);
}
}
return $response;
}