protected override QueryContainer QueryFluent(QueryContainerDescriptor <Project> q) => q .GeoDistanceRange(g => g .Boost(1.1) .Name("named_query") .Field(p => p.Location) .DistanceType(GeoDistanceType.Arc) .Coerce() .GreaterThanOrEqualTo(200, GeoPrecision.Kilometers) .GreaterThan(200, GeoPrecision.Kilometers) .IgnoreMalformed() .Location(new GeoLocation(40, -70)) .Optimize(GeoOptimizeBBox.Indexed) .LessThanOrEqualTo(GeoDistance.Miles(400)) .LessThan(GeoDistance.Miles(400)) .ValidationMethod(GeoValidationMethod.Strict) );
protected override QueryContainer QueryFluent(QueryContainerDescriptor <Project> q) => q .FunctionScore(c => c .Name("named_query") .Boost(1.1) .Query(qq => qq.MatchAll()) .BoostMode(FunctionBoostMode.Multiply) .ScoreMode(FunctionScoreMode.Sum) .MaxBoost(20.0) .MinScore(1.0) .Functions(f => f .Exponential(b => b.Field(p => p.NumberOfCommits).Decay(0.5).Origin(1.0).Scale(0.1).Weight(2.1)) .GaussDate(b => b.Field(p => p.LastActivity).Origin(DateMath.Now).Decay(0.5).Scale("1d")) .LinearGeoLocation(b => b.Field(p => p.Location).Origin(new GeoLocation(70, -70)).Scale(GeoDistance.Miles(1)).MultiValueMode(MultiValueMode.Average)) .FieldValueFactor(b => b.Field("x").Factor(1.1).Missing(0.1).Modifier(FieldValueFactorModifier.Ln)) .RandomScore(1337) .Weight(1.0) .ScriptScore(ss => ss.Script(s => s.File("x"))) ) );