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)
                   );
Example #2
0
 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")))
                           )
                );