Class LuceneQuery
Represents a lucene query
public class LuceneQuery : IQuery, INestedQuery
- Inheritance
-
LuceneQuery
- Implements
- Inherited Members
Constructors
LuceneQuery(LuceneSearchQuery, Occur)
Initializes a new instance of the LuceneQuery class.
public LuceneQuery(LuceneSearchQuery search, Occur occurrence)
Parameters
searchLuceneSearchQueryThe search.
occurrenceOccurThe occurance.
Properties
Category
The category of the query
public string? Category { get; }
Property Value
Methods
All()
Matches all items
public IOrdering All()
Returns
Field(string, IExamineValue)
Query on the specified field
public IBooleanOperation Field(string fieldName, IExamineValue fieldValue)
Parameters
fieldNamestringName of the field.
fieldValueIExamineValueThe field value.
Returns
Field(string, string)
Query on the specified field
public 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
public IBooleanOperation Field<T>(string fieldName, T fieldValue) where T : struct
Parameters
fieldNamestringfieldValueT
Returns
Type Parameters
T
Group(Func<INestedQuery, INestedBooleanOperation>, BooleanOperation)
Creates an inner group query
public IBooleanOperation Group(Func<INestedQuery, INestedBooleanOperation> inner, BooleanOperation defaultOp = BooleanOperation.Or)
Parameters
innerFunc<INestedQuery, INestedBooleanOperation>defaultOpBooleanOperationThe 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
public 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
public 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
public 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
public 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
public 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
public IBooleanOperation GroupedOr(IEnumerable<string> fields, params string[] query)
Parameters
fieldsIEnumerable<string>The fields.
querystring[]The query.
Returns
Id(string)
Query on the id
public IBooleanOperation Id(string id)
Parameters
idstringThe id.
Returns
ManagedQuery(string, string[]?)
The index will determine the most appropriate way to search given the query and the fields provided
public 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
public IBooleanOperation NativeQuery(string query)
Parameters
querystringThe 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
public IBooleanOperation RangeQuery<T>(string[] fields, T? min, T? max, bool minInclusive = true, bool maxInclusive = true) where T : struct
Parameters
Returns
Type Parameters
T