ISearchParameterBuilder<TDocument>

When class implements this interface. Create facilities to create ISearchParameter

Any

Create a any parameter

NOTE

Pay Attention! Need deactive CheckAnyParameter in DocumentCollectionOptions

public static ISolrSearch<TDocument> Any(this ISolrSearch<TDocument> search, string name, string value)
    where TDocument : IDocument

Boost

Create a boost parameter

public static ISolrSearch<TDocument> Boost<TDocument>(this ISolrSearch<TDocument> search,
    ISearchParameterValue<TDocument> query, BoostFunctionType? boostFunctionType = null)
    where TDocument : IDocument

FacetField

Create a facet field parameter Param expression Expression used to find the property name Param sortType Sort type of the result of the facet Param limit Limit of itens in facet's result Param excludes List of tags to exclude in facet calculation

public static ISolrSearch<TDocument> FacetField<TDocument>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, FacetSortType? sortType = null,
    int? limit = null, params string[] excludes)
    where TDocument : IDocument

FacetLimit

Create a facet limit parameter

public static ISolrSearch<TDocument> FacetLimit<TDocument>(this ISolrSearch<TDocument> search, int value)
    where TDocument : IDocument

FacetQuery

Create a facet query parameter

public static ISolrSearch<TDocument> FacetQuery<TDocument>(this ISolrSearch<TDocument> search,
    string aliasName, ISearchParameterValue<TDocument> query, FacetSortType? sortType = null,
    params string[] excludes)
    where TDocument : IDocument

FacetRange

Create a facet range parameter

public static ISolrSearch<TDocument> FacetRange<TDocument>(this ISolrSearch<TDocument> search, string aliasName,
    Expression<Func<TDocument, object>> expression, string gap = null, string start = null, string end = null,
    bool countBefore = false, bool countAfter = false, FacetSortType? sortType = null, params string[] excludes)
    where TDocument : IDocument

Fields

Create a fields parameter * Param expressions Expression used to find the property name IFieldsParameter Fields(params Expression>[] expressions);

public static ISolrSearch<TDocument> Fields<TDocument>(this ISolrSearch<TDocument> search,
    params Expression<Func<TDocument, object>>[] expressions)
    where TDocument : IDocument

Filter (Overload#1)

Create a filter parameter

public static ISolrSearch<TDocument> Filter<TDocument>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, string value, string tagName = null)
    where TDocument : IDocument

Filter (Overload#2)

Create a filter parameter

public static ISolrSearch<TDocument> Filter<TDocument, TValue>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, TValue? from, TValue? to, string tagName = null)
    where TDocument : IDocument
    where TValue : struct

Filter (Overload#3)

Create a filter parameter

public static ISolrSearch<TDocument> Filter<TDocument>(this ISolrSearch<TDocument> search, ISearchParameterValue<TDocument> value)
    where TDocument : IDocument

Limit

Create a limit parameter

public static ISolrSearch<TDocument> Limit<TDocument>(this ISolrSearch<TDocument> search, int value)
    where TDocument : IDocument

MinimumShouldMatch

Create a minimum should match parameter

public static ISolrSearch<TDocument> MinimumShouldMatch<TDocument>(this ISolrSearch<TDocument> search, string expression)
    where TDocument : IDocument

Offset

Create a offset parameter

public static ISolrSearch<TDocument> Offset<TDocument>(this ISolrSearch<TDocument> search, int value)
    where TDocument : IDocument

QueryAll

Create a query parameter with ":"

public static ISolrSearch<TDocument> QueryAll<TDocument>(this ISolrSearch<TDocument> search)
    where TDocument : IDocument

Query (Overload#1)

Create a query parameter

public static ISolrSearch<TDocument> Query<TDocument>(this ISolrSearch<TDocument> search, ISearchParameterValue<TDocument> value)
    where TDocument : IDocument

Query (Overload#2)

Create a query parameter

public static ISolrSearch<TDocument> Query<TDocument>(this ISolrSearch<TDocument> search, string value)
    where TDocument : IDocument

Query (Overload#3)

Create a query parameter

public static ISolrSearch<TDocument> Query<TDocument>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, string value)
    where TDocument : IDocument

QueryField

Create a query field parameter

public static ISolrSearch<TDocument> QueryField<TDocument>(this ISolrSearch<TDocument> search, string expression)
    where TDocument : IDocument

RandomSort

Create a random sort parameter

public static ISolrSearch<TDocument> RandomSort<TDocument>(this ISolrSearch<TDocument> search, bool ascendent)
    where TDocument : IDocument

Sort (Overload#1)

Create a sort parameter

public static ISolrSearch<TDocument> Sort<TDocument>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, bool ascendent)
    where TDocument : IDocument

Sort (Overload#2)

Create a sort parameter

public static ISolrSearch<TDocument> Sort<TDocument>(this ISolrSearch<TDocument> search, bool ascendent,
    params Expression<Func<TDocument, object>>[] expressions)
    where TDocument : IDocument

SpatialFilter

Create a query field parameter using spatial notation

public static ISolrSearch<TDocument> SpatialFilter<TDocument>(this ISolrSearch<TDocument> search,
    Expression<Func<TDocument, object>> expression, SolrSpatialFunctionType functionType,
    GeoCoordinate centerPoint, decimal distance)
    where TDocument : IDocument

Page

Create a offset/limit parameters

public static ISolrSearch<TDocument> Page<TDocument>(this ISolrSearch<TDocument> search, int limit, int page)
    where TDocument : IDocument