Package org.apache.lucene.queryparser.flexible.core.nodes
Query Nodes
The package org.apache.lucene.queryParser.nodes
contains all the basic query
nodes. The interface that represents a query node is QueryNode
.
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 StandardSyntaxParser
, it implements
Lucene's standard syntax.
QueryNode
interface should be
implemented by all query nodes, the class QueryNodeImpl
implements 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
- TermRangeQueryNode - used for parametric field:[low_value TO high_value]
- ProximityQueryNode - used for proximity search
- LegacyNumericRangeQueryNode - used for numeric range search
- TokenizedPhraseQueryNode - used by tokenizers/lemmatizers/analyzers for phrases/autophrases
Leaf Nodes:
- FieldQueryNode - field/value node
- LegacyNumericQueryNode - used for numeric search
- PathQueryNode -
QueryNode
object used with path-like queries - OpaqueQueryNode - Used as for part of the query that can be parsed by other parsers. schema/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
-
ClassDescriptionA
AndQueryNode
represents an AND boolean operation performed on a list of nodes.AAnyQueryNode
represents an ANY operator performed on a list of nodes.ABooleanQueryNode
represents a list of elements which do not have an explicit boolean operator defined between them.ABoostQueryNode
boosts the QueryNode tree which is under this node.ADeletedQueryNode
represents a node that was deleted from the query node tree.A query node implementsFieldableNode
interface to indicate that its children and itself are associated to a specific field.AFieldQueryNode
represents a element that contains field/text tupleThis interface should be implemented byQueryNode
that holds a field and an arbitrary value.AFuzzyQueryNode
represents a element that contains field/text/similarity tupleAGroupQueryNode
represents a location where the original user typed real parenthesis on the query string.AMatchAllDocsQueryNode
indicates that a query node tree or subtree will match all documents if executed in the index.AMatchNoDocsQueryNode
indicates that a query node tree or subtree will not match any documents if executed in the index.AModifierQueryNode
indicates the modifier value (+,-,?,NONE) for each term on the query string.Modifier type: such as required (REQ), prohibited (NOT)ANoTokenFoundQueryNode
is used if a term is convert into no tokens by the tokenizer/lemmatizer/analyzer (null).AOpaqueQueryNode
is used for specify values that are not supposed to be parsed by the parser.AOrQueryNode
represents an OR boolean operation performed on a list of nodes.APathQueryNode
is used to store queries like /company/USA/California /product/shoes/brown.Term text with a beginning and end positionQuery node forPhraseQuery
's slop factor.AProximityQueryNode
represents a query where the terms should meet specific distance conditions.utility class containing the distance condition and numberDistance condition: PARAGRAPH, SENTENCE, or NUMBERAQueryNode
is a interface implemented by all nodes on a QueryNode tree.AQueryNodeImpl
is the default implementation of the interfaceQueryNode
AQuotedFieldQueryNode
represents phrase query.RangeQueryNode<T extends FieldValuePairQueryNode<?>>This interface should be implemented by aQueryNode
that represents some kind of range query.ASlopQueryNode
represents phrase query with a slop.Interface for a node that has text as aCharSequence
ATokenizedPhraseQueryNode
represents a node created by a code that tokenizes/lemmatizes/analyzes.This interface should be implemented byQueryNode
that holds an arbitrary value.