Contains query nodes that are commonly used by query parser implementations
Query Nodes
The package org.apache.lucene.queryParser.nodes contains all the basic query nodes. The interface
that represents a query node is {@link org.apache.lucene.queryParser.core.nodes.QueryNode}. Every query node must be serializable.
{@link org.apache.lucene.queryParser.core.nodes.QueryNode}s are used by the text parser to create a syntax tree.
These nodes are designed to be used by UI or other text parsers.
The default Lucene text parser is {@link org.apache.lucene.queryParser.standard.parser.StandardSyntaxParser},
it implements Lucene's standard syntax.
{@link org.apache.lucene.queryParser.core.nodes.QueryNode} interface should be implemented by all query nodes,
the class {@link org.apache.lucene.queryParser.core.nodes.QueryNodeImpl} implements {@link org.apache.lucene.queryParser.core.nodes.QueryNode} and is extended
by all current query node implementations.
A query node tree can be printed to the a stream, and it generates a pseudo XML representation
with all the nodes.
A query node tree can also generate a query string that can be parsed back by the original text parser,
at this point only the standard lucene syntax is supported.
Grouping nodes:
- AndQueryNode - used for AND operator
- AnyQueryNode - used for ANY operator
- OrQueryNode - used for OR operator
- BooleanQueryNode - used when no operator is specified
- ModifierQueryNode - used for modifier operator
- GroupQueryNode - used for parenthesis
- BoostQueryNode - used for boost operator
- SlopQueryNode - phrase slop
- FuzzyQueryNode - fuzzy node
- ParametricRangeQueryNode - used for parametric field:[low_value TO high_value]
- ProximityQueryNode - used for proximity search
- NumericRangeQueryNode - used for numeric range search
- TokenizedPhraseQueryNode - used by tokenizers/lemmatizers/analyzers for phrases/autophrases
Leaf Nodes:
- FieldQueryNode - field/value node
- NumericQueryNode - used for numeric search
- PathQueryNode - {@link org.apache.lucene.queryParser.core.nodes.QueryNode} object used with path-like queries
- OpaqueQueryNode - Used as for part of the query that can be parsed by other parsers. schema/value
- ParametricQueryNode - used for parametric field [>=|<=|=|<|>] value
- PrefixWildcardQueryNode - non-phrase wildcard query
- QuotedFieldQUeryNode - regular phrase node
- WildcardQueryNode - non-phrase wildcard query
Utility Nodes:
- DeletedQueryNode - used by processors on optimizations
- MatchAllDocsQueryNode - used by processors on optimizations
- MatchNoDocsQueryNode - used by processors on optimizations
- NoTokenFoundQueryNode - used by tokenizers/lemmatizers/analyzers