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.
QueryNodes 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 -
QueryNodeobject 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
AndQueryNoderepresents an AND boolean operation performed on a list of nodes.AAnyQueryNoderepresents an ANY operator performed on a list of nodes.ABooleanQueryNoderepresents a list of elements which do not have an explicit boolean operator defined between them.ABoostQueryNodeboosts the QueryNode tree which is under this node.ADeletedQueryNoderepresents a node that was deleted from the query node tree.A query node implementsFieldableNodeinterface to indicate that its children and itself are associated to a specific field.AFieldQueryNoderepresents a element that contains field/text tupleThis interface should be implemented byQueryNodethat holds a field and an arbitrary value.AFuzzyQueryNoderepresents a element that contains field/text/similarity tupleAGroupQueryNoderepresents a location where the original user typed real parenthesis on the query string.AMatchAllDocsQueryNodeindicates that a query node tree or subtree will match all documents if executed in the index.AMatchNoDocsQueryNodeindicates that a query node tree or subtree will not match any documents if executed in the index.AModifierQueryNodeindicates the modifier value (+,-,?,NONE) for each term on the query string.Modifier type: such as required (REQ), prohibited (NOT)ANoTokenFoundQueryNodeis used if a term is convert into no tokens by the tokenizer/lemmatizer/analyzer (null).AOpaqueQueryNodeis used for specify values that are not supposed to be parsed by the parser.AOrQueryNoderepresents an OR boolean operation performed on a list of nodes.APathQueryNodeis used to store queries like /company/USA/California /product/shoes/brown.Term text with a beginning and end positionQuery node forPhraseQuery's slop factor.AProximityQueryNoderepresents a query where the terms should meet specific distance conditions.utility class containing the distance condition and numberDistance condition: PARAGRAPH, SENTENCE, or NUMBERAQueryNodeis a interface implemented by all nodes on a QueryNode tree.AQueryNodeImplis the default implementation of the interfaceQueryNodeAQuotedFieldQueryNoderepresents phrase query.RangeQueryNode<T extends FieldValuePairQueryNode<?>>This interface should be implemented by aQueryNodethat represents some kind of range query.ASlopQueryNoderepresents phrase query with a slop.Interface for a node that has text as aCharSequenceATokenizedPhraseQueryNoderepresents a node created by a code that tokenizes/lemmatizes/analyzes.This interface should be implemented byQueryNodethat holds an arbitrary value.