Interface IQuery
Defines the query methods for the fluent search API
public interface IQueryMethods
All()
Matches all items
IOrdering All()Returns
Field(string, IExamineValue)
Query on the specified field
IBooleanOperation Field(string fieldName, IExamineValue fieldValue)Parameters
- fieldNamestring
- Name of the field. 
- fieldValueIExamineValue
- The field value. 
Returns
Field(string, string)
Query on the specified field
IBooleanOperation Field(string fieldName, string fieldValue)Parameters
Returns
Field<T>(string, T)
Query on the specified field for a struct value which will try to be auto converted with the correct query
IBooleanOperation Field<T>(string fieldName, T fieldValue) where T : structParameters
- fieldNamestring
- fieldValueT
Returns
Type Parameters
- T
Group(Func<INestedQuery, INestedBooleanOperation>, BooleanOperation)
Creates an inner group query
IBooleanOperation Group(Func<INestedQuery, INestedBooleanOperation> inner, BooleanOperation defaultOp = BooleanOperation.Or)Parameters
- innerFunc<INestedQuery, INestedBooleanOperation>
- defaultOpBooleanOperation
- The default operation is OR, generally a grouped query would have complex inner queries with an OR against another complex group query 
Returns
GroupedAnd(IEnumerable<string>, params IExamineValue[])
Queries multiple fields with each being an And boolean operation
IBooleanOperation GroupedAnd(IEnumerable<string> fields, params IExamineValue[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- queryIExamineValue[]
- The query. 
Returns
GroupedAnd(IEnumerable<string>, params string[])
Queries multiple fields with each being an And boolean operation
IBooleanOperation GroupedAnd(IEnumerable<string> fields, params string[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- querystring[]
- The query. 
Returns
GroupedNot(IEnumerable<string>, params IExamineValue[])
Queries multiple fields with each being an Not boolean operation
IBooleanOperation GroupedNot(IEnumerable<string> fields, params IExamineValue[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- queryIExamineValue[]
- The query. 
Returns
GroupedNot(IEnumerable<string>, params string[])
Queries multiple fields with each being an Not boolean operation
IBooleanOperation GroupedNot(IEnumerable<string> fields, params string[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- querystring[]
- The query. 
Returns
GroupedOr(IEnumerable<string>, params IExamineValue[])
Queries multiple fields with each being an Or boolean operation
IBooleanOperation GroupedOr(IEnumerable<string> fields, params IExamineValue[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- queryIExamineValue[]
- The query. 
Returns
GroupedOr(IEnumerable<string>, params string[])
Queries multiple fields with each being an Or boolean operation
IBooleanOperation GroupedOr(IEnumerable<string> fields, params string[] query)Parameters
- fieldsIEnumerable<string>
- The fields. 
- querystring[]
- The query. 
Returns
Id(string)
Query on the id
IBooleanOperation Id(string id)Parameters
- idstring
- The id. 
Returns
ManagedQuery(string, string[]?)
The index will determine the most appropriate way to search given the query and the fields provided
IBooleanOperation ManagedQuery(string query, string[]? fields = null)Parameters
Returns
NativeQuery(string)
Passes a text string which is preformatted for the underlying search API. Examine will not modify this
IBooleanOperation NativeQuery(string query)Parameters
- querystring
- The query. 
Returns
Remarks
This allows a developer to completely bypass and Examine logic and comprise their own query text which they are passing in. It means that if the search is too complex to achieve with the fluent API, or too dynamic to achieve with a static language the provider can still handle it.
RangeQuery<T>(string[], T?, T?, bool, bool)
Matches items as defined by the IIndexFieldValueType used for the fields specified. If a type is not defined for a field name, or the type does not implement IIndexRangeValueType for the types of min and max, nothing will be added
IBooleanOperation RangeQuery<T>(string[] fields, T? min, T? max, bool minInclusive = true, bool maxInclusive = true) where T : structParameters
Returns
Type Parameters
- T