/// <summary> /// Configure current instance /// </summary> /// <param name="query">Query used to make boost</param> /// <param name="boostFunctionType">Boost type used in calculation</param> public IBoostParameter <TDocument> Configure(ISearchParameterValue <TDocument> query, BoostFunctionType boostFunctionType) { Checker.IsNull(query); this.Query = query; this.Query.ExpressionBuilder = this._expressionBuilder; this.BoostFunctionType = boostFunctionType; return(this); }
public void BoostParameterTheory001(BoostFunctionType boostFunctionType, string expected) { // Arrange var container = new List <string>(); var solrOptions = new SolrExpressOptions(); var solrConnection = new FakeSolrConnection <TestDocument>(); var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection); expressionBuilder.LoadDocument(); var searchQuery = new SearchQuery <TestDocument>(expressionBuilder); var parameter = (IBoostParameter <TestDocument>) new BoostParameter <TestDocument>(); parameter.BoostFunctionType = boostFunctionType; parameter.Query = searchQuery.Field(q => q.Id); // Act ((ISearchItemExecution <List <string> >)parameter).Execute(); ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container); // Assert Assert.Single(container); Assert.Equal(expected, container[0]); }
/// <summary> /// Configure boost type used in calculation /// </summary> /// <param name="parameter">Parameter to configure</param> /// <param name="boostFunctionType">Boost type used in calculation</param> public static IBoostParameter <TDocument> BoostFunctionType <TDocument>(this IBoostParameter <TDocument> parameter, BoostFunctionType boostFunctionType) where TDocument : Document { parameter.BoostFunctionType = boostFunctionType; return(parameter); }