/// <summary> /// Create a facet query parameter /// </summary> /// <param name="aliasName">Name of the alias added in the query</param> /// <param name="query">Query used to make the facet</param> /// <param name="sortType">Sort type of the result of the facet</param> /// <param name="excludes">List of tags to exclude in facet calculation</param> public IFacetQueryParameter <TDocument> FacetQuery(string aliasName, ISearchParameterValue <TDocument> query, FacetSortType?sortType = null, params string[] excludes) { return(this .Engine .GetService <IFacetQueryParameter <TDocument> >() .Configure(aliasName, query, sortType, excludes)); }
/// <summary> /// Create a query parameter /// </summary> /// <param name="value">Parameter to include in the query</param> public IQueryParameter <TDocument> Query(ISearchParameterValue <TDocument> value) { return(this .Engine .GetService <IQueryParameter <TDocument> >() .Configure(value)); }
/// <summary> /// Create a boost parameter /// </summary> /// <param name="query">Query used to make boost</param> /// <param name="boostFunctionType">Boost type used in calculation. Default is BoostFunctionType.Boost</param> public IBoostParameter <TDocument> Boost(ISearchParameterValue <TDocument> query, BoostFunctionType?boostFunctionType = null) { return(this .Engine .GetService <IBoostParameter <TDocument> >() .Configure(query, boostFunctionType ?? BoostFunctionType.Boost)); }
/// <summary> /// Create a filter parameter /// </summary> /// <param name="value">Value of the filter</param> public IFilterParameter <TDocument> Filter(ISearchParameterValue <TDocument> value) { return(this .Engine .GetService <IFilterParameter <TDocument> >() .Configure(value)); }
/// <summary> /// Configure current instance /// </summary> /// <param name="value">Parameter to include in the query</param> public IQueryParameter <TDocument> Configure(ISearchParameterValue <TDocument> value) { Checker.IsNull(value); this.Value = value; this.Value.ExpressionBuilder = this._expressionBuilder; return(this); }
/// <summary> /// Configure current instance /// </summary> /// <param name="value">Value of the filter</param> /// <param name="tagName">Tag name to use in facet excluding list</param> public IFilterParameter <TDocument> Configure(ISearchParameterValue <TDocument> value, string tagName = null) { Checker.IsNull(value); this.Value = value; this.Value.ExpressionBuilder = this._expressionBuilder; this.TagName = tagName; return(this); }
/// <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); }
/// <summary> /// Configure current instance /// </summary> /// <param name="aliasName">Name of the alias added in the query</param> /// <param name="query">Query used to make the facet</param> /// <param name="sortType">Sort type of the result of the facet</param> /// <param name="excludes">List of tags to exclude in facet calculation</param> public IFacetQueryParameter <TDocument> Configure(string aliasName, ISearchParameterValue <TDocument> query, FacetSortType?sortType = null, params string[] excludes) { Checker.IsNullOrWhiteSpace(aliasName); Checker.IsNull(query); this.AliasName = aliasName; this.Query = query; this.Query.ExpressionBuilder = this._expressionBuilder; this.SortType = sortType; this.Excludes = excludes; return(this); }
IQueryParameter <TDocument> ISearchParameterBuilder <TDocument> .Query(ISearchParameterValue <TDocument> value) { throw new NotImplementedException(); }
IFacetQueryParameter <TDocument> ISearchParameterBuilder <TDocument> .FacetQuery(string aliasName, ISearchParameterValue <TDocument> query, FacetSortType?sortType, params string[] excludes) { throw new NotImplementedException(); }
IBoostParameter <TDocument> ISearchParameterBuilder <TDocument> .Boost(ISearchParameterValue <TDocument> query, BoostFunctionType?boostFunctionType) { throw new NotImplementedException(); }
/// <summary> /// Create a negative form (NOT) from informed parameter value /// </summary> /// <param name="value">Paramater value used to created negative form</param> public Negate(ISearchParameterValue <TDocument> value) { Checker.IsNull(value); this.Value = value; }
/// <summary> /// Create a filter parameter /// </summary> /// <param name="value">Value of the filter</param> public static ISolrSearch <TDocument> Filter <TDocument>(this ISolrSearch <TDocument> search, ISearchParameterValue <TDocument> value) where TDocument : IDocument { search.Add(search.GetBuilder().Filter(value)); return(search); }
/// <summary> /// Create a facet query parameter /// </summary> /// <param name="aliasName">Name of the alias added in the query</param> /// <param name="query">Query used to make the facet</param> /// <param name="sortType">Sort type of the result of the facet</param> /// <param name="excludes">List of tags to exclude in facet calculation</param> public static ISolrSearch <TDocument> FacetQuery <TDocument>(this ISolrSearch <TDocument> search, string aliasName, ISearchParameterValue <TDocument> query, FacetSortType?sortType = null, params string[] excludes) where TDocument : IDocument { search.Add(search.GetBuilder().FacetQuery(aliasName, query, sortType, excludes)); return(search); }
/// <summary> /// Create a boost parameter /// </summary> /// <param name="query">Query used to make boost</param> /// <param name="boostFunctionType">Boost type used in calculation. Default is BoostFunctionType.Boost</param> public static ISolrSearch <TDocument> Boost <TDocument>(this ISolrSearch <TDocument> search, ISearchParameterValue <TDocument> query, BoostFunctionType?boostFunctionType = null) where TDocument : IDocument { search.Add(search.GetBuilder().Boost(query, boostFunctionType ?? BoostFunctionType.Boost)); return(search); }