Skip to content

Commit 0058d5d

Browse files
committed
Add default option to FieldValueFactor
Closes #1450
1 parent 8322e25 commit 0058d5d

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

Diff for: src/Nest/DSL/Query/Functions/FieldValueFactorDescriptor.cs

+10-1
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,23 @@ public class FieldValueFactorDescriptor<T>
3838
internal FieldValueFactorModifier? _Modifier { get; set; }
3939

4040
[JsonProperty("missing")]
41-
internal double? _Missing { get; set; }
41+
internal double? _Missing { get; set; }
42+
43+
[JsonProperty("default")]
44+
internal object _Default { get; set; }
4245

4346
public FieldValueFactorDescriptor<T> Field(Expression<Func<T, object>> field)
4447
{
4548
this._Field = field;
4649
return this;
4750
}
4851

52+
public FieldValueFactorDescriptor<T> Default(object defaultValue)
53+
{
54+
this._Default = defaultValue;
55+
return this;
56+
}
57+
4958
public FieldValueFactorDescriptor<T> Factor(double factor)
5059
{
5160
this._Factor = factor;

Diff for: src/Tests/Nest.Tests.Unit/Search/Query/Singles/FunctionScoreQueryJson.cs

+8-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,13 @@ public void FunctionScoreQuery()
2020
f => f.Linear(x => x.FloatValue, d => d.Scale("0.3")),
2121
f => f.Exp(x => x.DoubleValue, d => d.Scale("0.5")),
2222
f => f.BoostFactor(2.0),
23-
f => f.FieldValueFactor(op => op.Field(ff => ff.DoubleValue).Factor(2.5).Modifier(FieldValueFactorModifier.SquareRoot).Missing(1.0))
23+
f => f.FieldValueFactor(op => op
24+
.Field(ff => ff.DoubleValue)
25+
.Factor(2.5)
26+
.Modifier(FieldValueFactorModifier.SquareRoot)
27+
.Missing(1.0)
28+
.Default(0.0)
29+
)
2430
)
2531
.ScoreMode(FunctionScoreMode.Sum)
2632
.BoostMode(FunctionBoostMode.Replace)
@@ -40,7 +46,7 @@ public void FunctionScoreQuery()
4046
{linear: { floatValue : { scale: '0.3'}}},
4147
{exp: { doubleValue: { scale: '0.5'}}},
4248
{boost_factor: 2.0 },
43-
{field_value_factor: { field: 'doubleValue', factor: 2.5, modifier: 'sqrt', missing: 1.0}}
49+
{field_value_factor: { field: 'doubleValue', factor: 2.5, modifier: 'sqrt', missing: 1.0, default: 0.0}}
4450
],
4551
query : { match_all : {} },
4652
score_mode: 'sum',

0 commit comments

Comments
 (0)