Namespace Lucene.Net.QueryParsers.Flexible.Core.Nodes
Classes
AndQueryNode
A AndQueryNode represents an AND boolean operation performed on a list of nodes.
AnyQueryNode
A AnyQueryNode represents an ANY operator performed on a list of nodes.
BooleanQueryNode
A BooleanQueryNode represents a list of elements which do not have an explicit boolean operator defined between them. It can be used to express a boolean query that intends to use the default boolean operator.
BoostQueryNode
A BoostQueryNode boosts the QueryNode tree which is under this node. So, it must only and always have one child.
The boost value may vary from 0.0 to 1.0.
DeletedQueryNode
A DeletedQueryNode represents a node that was deleted from the query node tree. It can be removed from the tree using the RemoveDeletedQueryNodesProcessor processor.
FieldQueryNode
A FieldQueryNode represents a element that contains field/text tuple
FuzzyQueryNode
A FuzzyQueryNode represents a element that contains field/text/similarity tuple
GroupQueryNode
A GroupQueryNode represents a location where the original user typed real parenthesis on the query string. This class is useful for queries like: a) a AND b OR c b) ( a AND b) OR c
Parenthesis might be used to define the boolean operation precedence.
MatchAllDocsQueryNode
A MatchAllDocsQueryNode indicates that a query node tree or subtree will match all documents if executed in the index.
MatchNoDocsQueryNode
A MatchNoDocsQueryNode indicates that a query node tree or subtree will not match any documents if executed in the index.
ModifierExtensions
ModifierQueryNode
A ModifierQueryNode indicates the modifier value (+,-,?,NONE) for each term on the query string. For example "+t1 -t2 t3" will have a tree of:
<BooleanQueryNode> <ModifierQueryNode modifier="MOD_REQ"> <t1/> </ModifierQueryNode> <ModifierQueryNode modifier="MOD_NOT"> <t2/> </ModifierQueryNode> <t3/> </BooleanQueryNode>
NoTokenFoundQueryNode
A NoTokenFoundQueryNode is used if a term is convert into no tokens by the tokenizer/lemmatizer/analyzer (null).
OpaqueQueryNode
A OpaqueQueryNode is used for specify values that are not supposed to be parsed by the parser. For example: and XPATH query in the middle of a query string a b @xpath:'/bookstore/book[1]/title' c d
OrQueryNode
A OrQueryNode represents an OR boolean operation performed on a list of nodes.
PathQueryNode
A PathQueryNode is used to store queries like /company/USA/California /product/shoes/brown. QueryText are objects that contain the text, begin position and end position in the query.
Example how the text parser creates these objects:
IList<PathQueryNode.QueryText> values = new List<PathQueryNode.QueryText>();
values.Add(new PathQueryNode.QueryText("company", 1, 7));
values.Add(new PathQueryNode.QueryText("USA", 9, 12));
values.Add(new PathQueryNode.QueryText("California", 14, 23));
QueryNode q = new PathQueryNode(values);
PathQueryNode.QueryText
Term text with a beginning and end position
PhraseSlopQueryNode
Query node for PhraseQuery's slop factor.
ProximityQueryNode
A ProximityQueryNode represents a query where the terms should meet specific distance conditions. (a b c) WITHIN [SENTENCE|PARAGRAPH|NUMBER] [INORDER] ("a" "b" "c") WITHIN [SENTENCE|PARAGRAPH|NUMBER] [INORDER]
TODO: Add this to the future standard Lucene parser/processor/builder
ProximityQueryNode_TypeExtensions
ProximityType
utility class containing the distance condition and number
QueryNode
A QueryNode is the default implementation of the interface IQueryNode
QuotedFieldQueryNode
A QuotedFieldQueryNode represents phrase query. Example: "life is great"
SlopQueryNode
A SlopQueryNode represents phrase query with a slop.
From Lucene FAQ: Is there a way to use a proximity operator (like near or within) with Lucene? There is a variable called slop that allows you to perform NEAR/WITHIN-like queries. By default, slop is set to 0 so that only exact phrases will match. When using TextParser you can use this syntax to specify the slop: "doug cutting"~2 will find documents that contain "doug cutting" as well as ones that contain "cutting doug".
TokenizedPhraseQueryNode
A TokenizedPhraseQueryNode represents a node created by a code that tokenizes/lemmatizes/analyzes.
Interfaces
IFieldableNode
A query node implements IFieldableNode interface to indicate that its children and itself are associated to a specific field.
If it has any children which also implements this interface, it must ensure the children are associated to the same field.
IFieldValuePairQueryNode<T>
This interface should be implemented by IQueryNode that holds a field and an arbitrary value.
IQueryNode
A IQueryNode is a interface implemented by all nodes on a IQueryNode tree.
IRangeQueryNode
LUCENENET specific interface for identifying a RangeQueryNode without specifying its generic closing type
IRangeQueryNode<T>
This interface should be implemented by an IQueryNode that represents some kind of range query.
ITextableQueryNode
Interface for a node that has text as a ICharSequence
IValueQueryNode<T>
This interface should be implemented by IQueryNode that holds an arbitrary value.
Enums
Modifier
Modifier type: such as required (REQ), prohibited (NOT)
ProximityQueryNode.Type
Distance condition: PARAGRAPH, SENTENCE, or NUMBER