Skip to content

Commit

Permalink
Merge pull request #2 from gozowy/specify-source-fields
Browse files Browse the repository at this point in the history
applying PR ongr-io#358
  • Loading branch information
lsnider authored Aug 27, 2021
2 parents 2029520 + 6944399 commit 68c745a
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/Search.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@ class Search
*/
private $source;

/**
* Allows to selectively load specific source fields for each document represented by a search hit.
*
* @var array
*/
private $sourceFields;

/**
* Allows to selectively load specific stored fields for each document represented by a search hit.
*
Expand Down Expand Up @@ -537,6 +544,26 @@ public function setSource($source)
return $this;
}

/**
* @return array
*/
public function getSourceFields()
{
return $this->sourceFields;
}

/**
* @param array $sourceFields
*
* @return $this
*/
public function setSourceFields($sourceFields)
{
$this->sourceFields = $sourceFields;

return $this;
}

/**
* @return array
*/
Expand Down Expand Up @@ -793,6 +820,12 @@ public function toArray()
'trackTotalHits' => 'track_total_hits',
];

if(!empty($this->sourceFields))
{
unset($params['source']);
$params['sourceFields'] = '_source';
}

foreach ($params as $field => $param) {
if ($this->$field !== null) {
$output[$param] = $this->$field;
Expand Down

0 comments on commit 68c745a

Please sign in to comment.