fields() public method

Sets the fields to retrieve from the documents.
See also: http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-fields.html
public fields ( array $fields )
$fields array the fields to be selected.
Beispiel #1
0
 public function testFields()
 {
     $query = new Query();
     $query->from('yiitest', 'user');
     $query->fields(['name', 'status']);
     $this->assertEquals(['name', 'status'], $query->fields);
     $query->fields('name', 'status');
     $this->assertEquals(['name', 'status'], $query->fields);
     $result = $query->one($this->getConnection());
     $this->assertEquals(2, count($result['_source']));
     $this->assertArrayHasKey('status', $result['_source']);
     $this->assertArrayHasKey('name', $result['_source']);
     $this->assertArrayHasKey('_id', $result);
     $query->fields([]);
     $this->assertEquals([], $query->fields);
     $result = $query->one($this->getConnection());
     $this->assertEquals([], $result['_source']);
     $this->assertArrayHasKey('_id', $result);
     $query->fields(null);
     $this->assertNull($query->fields);
     $result = $query->one($this->getConnection());
     $this->assertEquals(3, count($result['_source']));
     $this->assertArrayHasKey('status', $result['_source']);
     $this->assertArrayHasKey('email', $result['_source']);
     $this->assertArrayHasKey('name', $result['_source']);
     $this->assertArrayHasKey('_id', $result);
 }
 /**
  * @return mixed
  */
 public function Build()
 {
     // Remove all new lines etc. from the json to make it valid
     $this->query = json_decode($this->query);
     $query = new Query();
     $query->fields(['name'])->from('api-builder', 'api')->highlight([])->limit(5)->query($this->query);
     // build and execute the query
     $command = $query->createCommand();
     $rows = $command->search();
     // this way you get the raw output of elasticsearch.
     return $rows;
 }