Пример #1
0
 /// <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));
 }
Пример #2
0
 /// <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));
 }
Пример #3
0
 /// <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));
 }
Пример #4
0
 /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
 IQueryParameter <TDocument> ISearchParameterBuilder <TDocument> .Query(ISearchParameterValue <TDocument> value)
 {
     throw new NotImplementedException();
 }
Пример #10
0
 IFacetQueryParameter <TDocument> ISearchParameterBuilder <TDocument> .FacetQuery(string aliasName, ISearchParameterValue <TDocument> query, FacetSortType?sortType, params string[] excludes)
 {
     throw new NotImplementedException();
 }
Пример #11
0
 IBoostParameter <TDocument> ISearchParameterBuilder <TDocument> .Boost(ISearchParameterValue <TDocument> query, BoostFunctionType?boostFunctionType)
 {
     throw new NotImplementedException();
 }
Пример #12
0
        /// <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;
        }
Пример #13
0
 /// <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);
 }
Пример #14
0
 /// <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);
 }
Пример #15
0
 /// <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);
 }