Skip to content

Commit 093bf04

Browse files
luizguilhermefrsaimaz
authored andcommitted
Breaking Change: Added "Missing" support to Field Value Factor (#247)
* bump development version number * missing support added missing support to [field value factor](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-field-value-factor) * updated docs * proposed changes
1 parent c8a2073 commit 093bf04

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"minimum-stability": "dev",
3838
"extra": {
3939
"branch-alias": {
40-
"dev-master": "5.0-dev"
40+
"dev-master": "5.1-dev"
4141
}
4242
}
4343
}

docs/Query/Compound/FunctionScore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ $queryArray = $search->toArray();
105105
```php
106106
$functionScoreQuery = new FunctionScoreQuery(new MatchAllQuery());
107107
$existsQuery = new ExistsQuery('price');
108-
$functionScoreQuery->addFieldValueFactorFunction('price', 0.5, 'ln', $existsQuery);
108+
$functionScoreQuery->addFieldValueFactorFunction('price', 0.5, 'ln', $existsQuery, 0);
109109

110110
$search = new Search();
111111
$search->addQuery($functionScoreQuery);

src/Query/Compound/FunctionScoreQuery.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,21 @@ public function __construct(BuilderInterface $query, array $parameters = [])
5050
* @param float $factor
5151
* @param string $modifier
5252
* @param BuilderInterface $query
53-
*
53+
* @param mixed $missing
5454
* @return $this
5555
*/
56-
public function addFieldValueFactorFunction($field, $factor, $modifier = 'none', BuilderInterface $query = null)
56+
public function addFieldValueFactorFunction($field, $factor, $modifier = 'none', BuilderInterface $query = null, $missing = null)
5757
{
58-
$function = [
58+
$function = array_filter([
5959
'field_value_factor' => [
6060
'field' => $field,
6161
'factor' => $factor,
6262
'modifier' => $modifier,
63+
'missing' => $missing
6364
],
64-
];
65+
], function ($item) {
66+
return $item !== null;
67+
});
6568

6669
$this->applyFilter($function, $query);
6770

0 commit comments

Comments
 (0)