Set script fields.
public setScriptFields ( array | |
||
$scriptFields | array | |
Script fields |
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']); }
/** * @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()); }