当前位置: 首页>>代码示例>>PHP>>正文


PHP Script::toArray方法代码示例

本文整理汇总了PHP中Elastica\Script::toArray方法的典型用法代码示例。如果您正苦于以下问题:PHP Script::toArray方法的具体用法?PHP Script::toArray怎么用?PHP Script::toArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Elastica\Script的用法示例。


在下文中一共展示了Script::toArray方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addScript

 /**
  * @param  string                              $name   Name of the Script field
  * @param  \Elastica\Script                     $script
  * @throws \Elastica\Exception\InvalidException
  * @return \Elastica\ScriptFields
  */
 public function addScript($name, Script $script)
 {
     if (!is_string($name) || !strlen($name)) {
         throw new InvalidException('The name of a Script is required and must be a string');
     }
     $this->setParam($name, $script->toArray());
     return $this;
 }
开发者ID:raadhuis,项目名称:modx-basic,代码行数:14,代码来源:ScriptFields.php

示例2: setScript

 /**
  * Set a script for this aggregation.
  *
  * @param string|Script $script
  *
  * @return $this
  */
 public function setScript($script)
 {
     if ($script instanceof Script) {
         $params = array_merge($this->getParams(), $script->toArray());
         return $this->setParams($params);
     }
     return $this->setParam('script', $script);
 }
开发者ID:MediaWiki-stable,项目名称:1.26.0,代码行数:15,代码来源:AbstractSimpleAggregation.php

示例3: testConstructor

 /**
  * @group unit
  */
 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());
 }
开发者ID:MediaWiki-stable,项目名称:1.26.1,代码行数:24,代码来源:ScriptTest.php

示例4: addScriptScoreFunction

 /**
  * Add a script_score function to the query
  * @param Script $script a Script object
  * @param AbstractFilter $filter an optional filter to apply to the function
  * @return \Elastica\Query\FunctionScore
  */
 public function addScriptScoreFunction(Script $script, AbstractFilter $filter = NULL)
 {
     return $this->addFunction('script_score', $script->toArray(), $filter);
 }
开发者ID:viz,项目名称:wordpress-fantastic-elasticsearch,代码行数:10,代码来源:FunctionScore.php

示例5: 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.elastic.co/guide/en/elasticsearch/reference/current/docs-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) {
         $requestData = array('doc' => $data->getData());
         if ($data->getDocAsUpsert()) {
             $requestData['doc_as_upsert'] = true;
         }
         $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 instanceof Document && ($data->isAutoPopulate() || $this->getConfigValue(array('document', 'autoPopulate'), false)) && !isset($options['fields'])) {
             $options['fields'] = '_source';
         }
     } else {
         $requestData = $data;
     }
     //If an upsert document exists
     if ($data instanceof Script || $data instanceof Document) {
         if ($data->hasUpsert()) {
             $requestData['upsert'] = $data->getUpsert()->getData();
         }
     }
     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;
 }
开发者ID:backplane,项目名称:elastica,代码行数:52,代码来源:Client.php

示例6: addScriptScoreFunction

 /**
  * Add a script_score function to the query.
  *
  * @param Script         $script a Script object
  * @param AbstractFilter $filter an optional filter to apply to the function
  * @param float          $weight the weight of the function
  *
  * @return $this
  */
 public function addScriptScoreFunction(Script $script, AbstractFilter $filter = null, $weight = null)
 {
     return $this->addFunction('script_score', $script->toArray(), $filter, $weight);
 }
开发者ID:MediaWiki-stable,项目名称:1.26.0,代码行数:13,代码来源:FunctionScore.php

示例7: addScriptField

 /**
  * Adds a Script to the query
  *
  * @param  string          $name
  * @param  \Elastica\Script $script Script object
  * @return \Elastica\Query  Query object
  */
 public function addScriptField($name, Script $script)
 {
     $this->_params['script_fields'][$name] = $script->toArray();
     return $this;
 }
开发者ID:tkaven,项目名称:Elastica,代码行数:12,代码来源:Query.php


注:本文中的Elastica\Script::toArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。