setScriptFields() public method

Set script fields.
public setScriptFields ( array | ScriptFields $scriptFields )
$scriptFields array | Elastica\Script\ScriptFields Script fields
Example #1
0
 public function testQuery()
 {
     $type = $this->index->getType('test');
     $doc = new Document(1, array('firstname' => 'guschti', 'lastname' => 'ruflin'));
     $type->addDocument($doc);
     $this->index->refresh();
     $query = new Query();
     $script = new Script('1 + 2');
     $scriptFields = new ScriptFields(array('test' => $script));
     $query->setScriptFields($scriptFields);
     $resultSet = $type->search($query);
     $first = $resultSet->current()->getData();
     // 1 + 2
     $this->assertEquals(3, $first['test']);
 }
Example #2
0
 /**
  * @group unit
  */
 public function testSetScriptFieldsToArrayCast()
 {
     $query = new Query();
     $scriptFields = new ScriptFields();
     $scriptFields->addScript('script', new Script('script'));
     $query->setScriptFields($scriptFields);
     $scriptFields->addScript('another script', new Script('another script'));
     $anotherQuery = new Query();
     $anotherQuery->setScriptFields($scriptFields);
     $this->assertEquals($query->toArray(), $anotherQuery->toArray());
 }