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
search
LuceneSearchQueryThe search.
occurrence
OccurThe 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
fieldName
stringName of the field.
fieldValue
IExamineValueThe 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
fieldName
stringfieldValue
T
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
inner
Func<INestedQuery, INestedBooleanOperation>defaultOp
BooleanOperationThe 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
fields
IEnumerable<string>The fields.
query
IExamineValue[]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
fields
IEnumerable<string>The fields.
query
string[]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
fields
IEnumerable<string>The fields.
query
IExamineValue[]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
fields
IEnumerable<string>The fields.
query
string[]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
fields
IEnumerable<string>The fields.
query
IExamineValue[]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
fields
IEnumerable<string>The fields.
query
string[]The query.
Returns
Id(string)
Query on the id
public IBooleanOperation Id(string id)
Parameters
id
stringThe 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
query
stringThe 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